Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define MAX 100002
- #define pb push_back
- int main()
- {
- int t;
- cin>>t;
- while(t--)
- {
- int n;
- cin>>n;
- ll a[n];
- for(int i=0;i<n;i++)
- cin>>a[i];
- ll sum1=0;
- ll last=-1;
- int even=0;
- int lasteven;
- ll odd=0,sum=0;
- for(int i=0;i<n;i++)
- {
- if(a[i]%2!=0)
- {
- odd++;
- }
- else
- {
- sum=sum+(odd*(odd+1)/2);
- odd=0;
- }
- }
- sum=sum+(odd*(odd+1)/2);
- for(int i=0;i<n;i++)
- {
- if(a[i]%4==0)
- {
- sum1=sum1+(i-last)*(n-i);
- last=i;
- if(even==1)
- {
- even=0;
- }
- // cout<<sum<<endl;
- }
- else if(a[i]%2==0)
- {
- if(even==1)
- {
- sum1=sum1+(lasteven-last)*(n-i);
- last=lasteven;
- lasteven=i;
- }
- else
- {
- lasteven=i;
- even=1;
- }
- }
- }
- cout<<sum1+sum<<endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment