Guest User

SQRDSUB

a guest
Apr 13th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.44 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define MAX 100002
  5. #define pb push_back
  6.  
  7. int main()
  8. {
  9.     int t;
  10.     cin>>t;
  11.     while(t--)
  12.     {
  13.         int n;
  14.         cin>>n;
  15.         ll a[n];
  16.         for(int i=0;i<n;i++)
  17.             cin>>a[i];
  18.             ll sum1=0;
  19.             ll last=-1;
  20.             int even=0;
  21.             int lasteven;
  22.  
  23.  
  24.               ll odd=0,sum=0;
  25.         for(int i=0;i<n;i++)
  26.         {
  27.             if(a[i]%2!=0)
  28.             {
  29.                 odd++;
  30.             }
  31.             else
  32.             {
  33.                 sum=sum+(odd*(odd+1)/2);
  34.                 odd=0;
  35.  
  36.             }
  37.  
  38.         }
  39.                         sum=sum+(odd*(odd+1)/2);
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.         for(int i=0;i<n;i++)
  47.         {
  48.             if(a[i]%4==0)
  49.             {
  50.                 sum1=sum1+(i-last)*(n-i);
  51.                 last=i;
  52.                 if(even==1)
  53.                 {
  54.                     even=0;
  55.                 }
  56.              //  cout<<sum<<endl;
  57.             }
  58.             else if(a[i]%2==0)
  59.             {
  60.                 if(even==1)
  61.                 {
  62.                     sum1=sum1+(lasteven-last)*(n-i);
  63.                     last=lasteven;
  64.                     lasteven=i;
  65.  
  66.                 }
  67.                 else
  68.                 {
  69.  
  70.                     lasteven=i;
  71.                     even=1;
  72.                 }
  73.             }
  74.  
  75.         }
  76.         cout<<sum1+sum<<endl;
  77.  
  78.     }
  79.     return 0;
  80. }
Add Comment
Please, Sign In to add comment