fork download
  1. #include <bits/stdc++.h> // Damn ....
  2. using namespace std;
  3. #define int long long
  4. #define all(v) v.begin(), v.end()
  5. #define rall(v) v.rbegin(),v.rend()
  6. #define pq_min priority_queue<int, vector<int>, greater<int>>
  7. typedef long long ll;
  8. typedef long double ld;
  9. const int MOD = 1e9 + 7;
  10. const ll OO = 2e18;
  11. const int oo = 1e9;
  12. const int sz = 1e5+5;
  13. ////////////////////////////////////////////////////////////////////////////////////////
  14. int n; int arr[105]; int dp[105];
  15. int go(int i) {
  16. if (i >= n) return 0;
  17. if (dp[i] != -1)
  18. return dp[i];
  19. int a= go(i+1)+arr[i];
  20. int b= go(i+1)-arr[i];
  21. int mn =OO;
  22. mn = min({mn,abs(a),abs(b)});
  23. return dp[i] = mn;
  24. }
  25. //////////////////////////////////////////////////////////////////////////////////////
  26. void _3OMDA() {
  27. cin>>n;
  28. for (int i = 0; i < n; i++) cin>>arr[i];
  29. memset(dp,-1,sizeof(dp));
  30. cout << go(0) << endl;
  31. }
  32. /////////////////////////////////////////////////////////////////////////////////////
  33. signed main() {
  34. ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  35. //freopen("input.txt", "r", stdin);
  36. //freopen("output.txt", "w", stdout);
  37. int t = 1;
  38. cin >> t;
  39. for (int i = 0; i < t; i++) {
  40. _3OMDA();
  41. }
  42. return 0;
  43. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
0