fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define val 1000000000000
  4. using namespace std;
  5.  
  6. ll a[1000002];
  7.  
  8. ll minm(ll x, ll y)
  9. {
  10. if(x < y) return x;
  11. return y;
  12. }
  13.  
  14. int main()
  15. {
  16. // freopen("input_output\\in09.txt", "r", stdin);
  17. //freopen("input_output\\out09.txt", "w", stdout);
  18. int t;
  19. cin >> t;
  20. //assert(1 <= t && t <= 100);
  21. while (t--) {
  22. int n, z;
  23. cin >> n >> z;
  24. //assert(1 <= n && n <= 10000);
  25. //assert(1 <= z && z <= n);
  26. for (int i = 1; i <= n; i++) {
  27. cin >> a[i];
  28. // assert(0 <= a[i] && a[i] <= val);
  29. }
  30. ll prev = 0;
  31. int prevptr = 1;
  32. int currptr = z + 1;
  33. for (int i = 1; i <= z; i++) prev ^= a[i];
  34. ll ans_val = prev;
  35. int ans = prevptr;
  36. //cout << prev << " ";
  37. while ((currptr - prevptr == z) && (currptr <= n) ) {
  38. prev ^= a[prevptr];
  39. prev ^= a[currptr];
  40. ans_val = minm(prev, ans_val);
  41. if(ans_val == prev) {
  42. ans = prevptr + 1;
  43. }
  44. // cout << prev << " ";
  45. prevptr++;
  46. currptr++;
  47. }
  48. //cout << endl;
  49. cout << ans << endl;
  50. }
  51. }
Runtime error #stdin #stdout 3.29s 10952KB
stdin
Standard input is empty
stdout
Standard output is empty