Advertisement
Guest User

Naveen and Tazos

a guest
Sep 5th, 2015
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. // Numeric Constants
  5. #define N 1000000007
  6. #define maxs 100005
  7. #define mins 1005
  8. #define eps 0.000000000001
  9. #define imax 2000000200
  10. #define llmax 1000000002000000000ll
  11. #define pi 3.141592653589793
  12.  
  13. // Others
  14. #define ll long long
  15. #define pb push_back
  16. #define gc getchar_unlocked
  17. #define iosbase ios_base::sync_with_stdio(false)
  18. #define pii pair<int,int>
  19. #define pll pair<ll,ll>
  20. #define ppi pair<pair<int,int>,int>
  21. #define ppl pair<pll,ll>
  22. #define vi vector<int>
  23. #define sc scanf
  24. #define pr printf
  25. #define lld I64d
  26. #define F first
  27. #define S second
  28. #define siter set<int>::iterator
  29. #define p_pq priority_queue
  30. #define ub upper_bound
  31. #define lb lower_bound
  32.  
  33. int a[maxs];
  34. ll dp[maxs][3];
  35. int main()
  36. {
  37. int t,n,i;
  38. ll ans;
  39. sc("%d",&t);
  40. while(t--){
  41. sc("%d",&n);
  42. for(i=0;i<n;i++){
  43. sc("%d",&a[i]);
  44. }
  45. dp[0][0]=0;
  46. dp[0][1]=a[0];
  47. dp[0][2]=0;
  48. for(i=1;i<n;i++){
  49. dp[i][0]=max(max(dp[i-1][0],dp[i-1][1]),dp[i-1][2]);
  50. dp[i][1]=dp[i-1][0]+a[i];
  51. dp[i][2]=dp[i-1][1]+a[i];
  52. }
  53. ans=max(max(dp[n-1][0],dp[n-1][1]),dp[n-1][2]);
  54. printf("%lld\n",ans);
  55. }
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement