jakaria_hossain

codeforce - alternating subsequence

Apr 22nd, 2020
254
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define fast()(ios_base::sync_with_stdio(0),cin.tie(NULL));
  5. int main()
  6. {
  7.     fast();
  8.     ll t;
  9.     cin>>t;
  10.     while(t--)
  11.     {
  12.         ll n;
  13.         cin>>n;
  14.         ll ara[n+1],sum=0;
  15.         for(ll i=0;i<n;i++)cin>>ara[i];
  16.         ll mx=ara[0];
  17.         bool f;
  18.         if(mx>0)f=true;
  19.         else f=false;
  20.         for(ll i=0;i<n;i++)
  21.         {
  22.             if(ara[i]>0 && f)
  23.             {
  24.  
  25.                 mx=max(mx,ara[i]);
  26.             }
  27.             else if(ara[i]>0 && !f)
  28.             {
  29.                 sum+=mx;
  30.                 mx=ara[i];
  31.                 f=true;
  32.             }
  33.             else if(ara[i]<0 && !f)
  34.             {
  35.                 mx=max(mx,ara[i]);
  36.             }
  37.             else if(ara[i]<0 && f)
  38.             {
  39.                 sum+=mx;
  40.                 mx=ara[i];
  41.                 f=false;
  42.             }
  43.             //cout<<"sum "<<sum<<endl;
  44.         }
  45.         sum+=mx;
  46.         cout<<sum<<endl;
  47.  
  48.         //cout<<max(-1,-5)<<endl;
  49.     }
  50. }
RAW Paste Data