sultan

task D

Mar 4th, 2012
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <set>
  5. #include <vector>
  6. #include <map>
  7. #include <algorithm>
  8. #include <string>
  9. #include <cstring>
  10. #include <cmath>
  11. #include <fstream>
  12. #include <ctime>
  13. #include <queue>
  14.  
  15. #define X first
  16. #define Y second
  17. #define pii pair<int,int>
  18. #define ll long long
  19.  
  20. using namespace std;
  21.  
  22. int n;
  23. vector<int> a;
  24. int ans;
  25.  
  26. void rec(vector<int> x)
  27. {
  28.     int sum=0;
  29.     //cout<<x.size();
  30.     for (int i=0;i<(int)x.size(); i++)
  31.     {
  32.         sum += x[i];
  33.         //cout<<" "<<x[i];
  34.     }
  35.     //cout<<" "<<sum<<endl;
  36.     ans = max(sum, ans);
  37.     if ( (x.size()%2!=0) || (x.size()<6))
  38.         return;
  39.     vector<int> t1, t2;
  40.     t1.resize(x.size()/2); t2.resize(x.size()/2);
  41.     for (int i=0; i<(int)x.size(); i++)
  42.     {
  43.         if ( i%2==0)
  44.         {
  45.             t1[i/2]=x[i];
  46.         }
  47.         else
  48.         {
  49.             t2[i/2]=x[i];
  50.         }
  51.     }
  52.     rec(t1);
  53.     rec(t2);
  54. }
  55.  
  56. int main()
  57. {
  58.     scanf("%d", &n);
  59.     a.resize(n);
  60.     for (int i=0; i<n; i++)
  61.     {
  62.         scanf("%d", &a[i]);
  63.     }
  64.     ans=-20000*1000;
  65.     rec(a);
  66.     cout<<ans;
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment