D. Odd Queries

PHOTO EMBED

Sun Mar 19 2023 17:53:23 GMT+0000 (Coordinated Universal Time)

Saved by @Ranjan_kumar #c++

#include <bits/stdc++.h>
using namespace std;
 
int main() {
	long long t;
	cin>>t;
	while(t--)
	{
	   long long n, q;
	   cin>>n>>q;
	   long long a[n];
	   long long sum1=0, sum2=0;
	   for(long long i=0;i<n;i++)
	   {
	      cin>>a[i];
	   }
	   long long int prefsum[n+1];
	   prefsum[0]=0;
	   for(int i=0;i<n;i++)
	   {
	       sum1+=a[i];
	       prefsum[i+1]=sum1;
	       
	   }
	   while(q--)
	   {
	      long long l,r,k;
	      cin>>l>>r>>k;
	      long long int p=prefsum[r]-prefsum[l-1];
	      sum2=prefsum[n]+((k*(r-l+1))-p);
	      if(sum2%2==1) cout<<"YES\n";
         else cout<<"NO\n";
	   }
	}
	return 0;
}
content_copyCOPY

To make optimize solution

https://codeforces.com/contest/1807/problem/D