Submission #466754

#TimeUsernameProblemLanguageResultExecution timeMemory
466754mtxasXORanges (eJOI19_xoranges)C++14
30 / 100
1073 ms460 KiB
#include <bits/stdc++.h> #define ll long long #define pii pair<int, int> #define fi first #define se second #define pll pair<ll, ll> #define mii map<int, int> #define vi vector<int> #define vll vector<ll> #define pb push_back #define all(a) a.begin(), a.end() #define sz(x) ((int)x.size()) #define turbo() cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false) #define _fre() freopen("input.txt", "r", stdin) #define _for(a, b, c) for(int (a) = (b); (a) < (c); (a)++) #define _foreq(a, b, c) for(int (a) = (b); (a) <= (c); (a)++) #define _forneq(a, b, c) for(int (a) = (b); (a) >= (c); (a)--) #define _forn(a, b, c) for(int (a) = (b); (a) > (c); (a)--) using namespace std; /********************************************************************************** STRUCTS **********************************************************************************/ /********************************************************************************** VARIABLES **********************************************************************************/ const int maxn = 5001; int a[maxn]; int t[maxn<<1]; int startIdRes[maxn]; /********************************************************************************** FUNCTIONS **********************************************************************************/ /********************************************************************************** MAIN **********************************************************************************/ int main(){ // _fre(); turbo(); int n, q; cin>>n>>q; _foreq(i, 1, n) cin>>a[i]; _for(g, 0, q){ int type; cin>>type; if(type == 1){ int i, val; cin>>i>>val; a[i] = val; //cout<<"a["<<i<<"] = "<<val<<endl; } else if(type == 2){ int l, r; cin>>l>>r; // cout<<"query("<<l<<", "<<r<<")\n"; int reply = 0; _foreq(i, 0, r) startIdRes[i] = 0; _foreq(len, 1, r-l+1){ _foreq(startId, l, r-len+1){ int toXor = 0; /*//cout<<"range("<<startId<<", "<<startId+len-1<<")\n"; _foreq(i, startId, startId+len-1){ toXor ^= a[i]; }*/ toXor = startIdRes[startId] ^ a[startId+len-1]; reply ^= toXor; startIdRes[startId] = toXor; } } cout<<reply<<'\n'; } } }

Compilation message (stderr)

xoranges.cpp: In function 'int main()':
xoranges.cpp:17:33: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   17 | #define _foreq(a, b, c) for(int (a) = (b); (a) <= (c); (a)++)
      |                                 ^
xoranges.cpp:43:5: note: in expansion of macro '_foreq'
   43 |     _foreq(i, 1, n) cin>>a[i];
      |     ^~~~~~
xoranges.cpp:16:31: warning: unnecessary parentheses in declaration of 'g' [-Wparentheses]
   16 | #define _for(a, b, c) for(int (a) = (b); (a) < (c); (a)++)
      |                               ^
xoranges.cpp:44:5: note: in expansion of macro '_for'
   44 |     _for(g, 0, q){
      |     ^~~~
xoranges.cpp:17:33: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   17 | #define _foreq(a, b, c) for(int (a) = (b); (a) <= (c); (a)++)
      |                                 ^
xoranges.cpp:55:13: note: in expansion of macro '_foreq'
   55 |             _foreq(i, 0, r) startIdRes[i] = 0;
      |             ^~~~~~
xoranges.cpp:17:33: warning: unnecessary parentheses in declaration of 'len' [-Wparentheses]
   17 | #define _foreq(a, b, c) for(int (a) = (b); (a) <= (c); (a)++)
      |                                 ^
xoranges.cpp:56:13: note: in expansion of macro '_foreq'
   56 |             _foreq(len, 1, r-l+1){
      |             ^~~~~~
xoranges.cpp:17:33: warning: unnecessary parentheses in declaration of 'startId' [-Wparentheses]
   17 | #define _foreq(a, b, c) for(int (a) = (b); (a) <= (c); (a)++)
      |                                 ^
xoranges.cpp:57:17: note: in expansion of macro '_foreq'
   57 |                 _foreq(startId, l, r-len+1){
      |                 ^~~~~~
#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...