Submission #469660

#TimeUsernameProblemLanguageResultExecution timeMemory
469660keta_tsimakuridzeIntergalactic ship (IZhO19_xorsum)C++14
0 / 100
2081 ms3440 KiB
#include<bits/stdc++.h>
#define f first
#define s second
#define int long long
#define pii pair<int,int>
using namespace std;
const int N = 2e5 + 5, mod = 1e9 + 7; // !
int t,a[N],x[N],n,q;
vector<pair<pii,int > > all;
main(){
	cin >> n;
	for(int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	cin >> q;
	for(int i = 1; i <= q; i++) {
		int l,r,x;
		cin >> l >> r >> x;
		all.push_back({{l,r},x});
	}
	int ans = 0;
	for(int mask = 0; mask <(1 << q); mask++){
		for(int i = 1; i <= n; i++) x[i] = a[i];
		for(int i = 0; i < q; i++) {
			if((1 << i) & mask) {
				for(int j = all[i].f.f; j <= all[i].f.s; j++) x[i] ^= all[i].s;
			}
		}
		for(int i = 1; i <= n;i ++) {
			int sum = 0;
			for(int j = i; j <= n; j++){
				sum += x[j];
				ans += sum * sum;
				ans %= mod;
			}
		}
	}
	cout << ans;
 }

Compilation message (stderr)

xorsum.cpp:10:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   10 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...