Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- // Numeric Constants
- #define N 1000000007
- #define maxs 100005
- #define mins 1005
- #define eps 0.000000000001
- #define imax 2000000200
- #define llmax 1000000002000000000ll
- #define pi 3.141592653589793
- // Others
- #define ll long long
- #define pb push_back
- #define gc getchar_unlocked
- #define iosbase ios_base::sync_with_stdio(false)
- #define pii pair<int,int>
- #define pll pair<ll,ll>
- #define ppi pair<pair<int,int>,int>
- #define ppl pair<pll,ll>
- #define vi vector<int>
- #define sc scanf
- #define pr printf
- #define lld I64d
- #define F first
- #define S second
- #define siter set<int>::iterator
- #define p_pq priority_queue
- #define ub upper_bound
- #define lb lower_bound
- int a[maxs];
- ll dp[maxs][3];
- int main()
- {
- int t,n,i;
- ll ans;
- sc("%d",&t);
- while(t--){
- sc("%d",&n);
- for(i=0;i<n;i++){
- sc("%d",&a[i]);
- }
- dp[0][0]=0;
- dp[0][1]=a[0];
- dp[0][2]=0;
- for(i=1;i<n;i++){
- dp[i][0]=max(max(dp[i-1][0],dp[i-1][1]),dp[i-1][2]);
- dp[i][1]=dp[i-1][0]+a[i];
- dp[i][2]=dp[i-1][1]+a[i];
- }
- ans=max(max(dp[n-1][0],dp[n-1][1]),dp[n-1][2]);
- printf("%lld\n",ans);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement