fork download
  1. #include <bits/stdc++.h>
  2. #include <ext/pb_ds/assoc_container.hpp>
  3. #include <ext/pb_ds/tree_policy.hpp>
  4.  
  5. using namespace std;
  6. using namespace __gnu_pbds;
  7. using ll = long long;
  8. using ld = long double;
  9.  
  10. #define all(x) x.begin(),x.end()
  11. #define v(x) vector<x>
  12. #define nl '\n'
  13. #define fxd(x) fixed << setprecision(x)
  14. template<class t> using ordered_set = tree<t, null_type, less<t>, rb_tree_tag, tree_order_statistics_node_update>;
  15. template<class t> using ordered_multiset = tree<t, null_type, less_equal<t>, rb_tree_tag, tree_order_statistics_node_update>;
  16.  
  17.  
  18. ll tot,n;
  19. vector<ll> apples(21,0);
  20.  
  21. ll opt(ll cursum,ll i)
  22. {
  23. if(i == n)
  24. {
  25. return abs(2*cursum-tot);
  26. }
  27. return min(opt(cursum+apples[i],i+1),opt(cursum,i+1));
  28. }
  29.  
  30. int main()
  31. {
  32. ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
  33. cin >> n;
  34.  
  35. for (int i = 0; i < n; i++)
  36. {
  37. cin >> apples[i];
  38. tot += apples[i];
  39. }
  40. cout << opt(0,0);
  41. }
Success #stdin #stdout 0.01s 5312KB
stdin
Standard input is empty
stdout
Standard output is empty