Submission #634028

#TimeUsernameProblemLanguageResultExecution timeMemory
634028antimirageXORanges (eJOI19_xoranges)C++14
75 / 100
459 ms8800 KiB
#include <iostream> #include <algorithm> #include <vector> #include <math.h> #include <set> #include <map> using namespace std; const int N = 1e6 + 5; int n, q, a[N], type, l, r, pref[2][N]; main(){ cin >> n >> q; for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); pref[i & 1][i] = a[i]; pref[0][i] ^= pref[0][i - 1]; pref[1][i] ^= pref[1][i - 1]; } if (n <= 5000 && q <= 5000) { while (q--) { cin >> type >> l >> r; if (type == 1) { a[l] = r; } else { if ((r - l + 1) & 1) { int ans = 0; for (int i = l; i <= r; i += 2) { ans ^= a[i]; } cout << ans << endl; } else { puts("0"); } } } } else { while (q--) { cin >> type >> l >> r; if ((r - l + 1) & 1) { cout << (pref[l & 1][r] ^ pref[l & 1][l - 1]) << endl; } else { puts("0"); } } } }

Compilation message (stderr)

xoranges.cpp:14:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   14 | main(){
      | ^~~~
xoranges.cpp: In function 'int main()':
xoranges.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |         scanf("%d", &a[i]);
      |         ~~~~~^~~~~~~~~~~~~
#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...