Submission #2163201


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
using Int = long long;
//INSERT ABOVE HERE
signed main(){
  Int n;
  cin>>n;
  vector<Int> a(n);
  for(Int i=0;i<n;i++) cin>>a[i];
  
  Int k=0,px=n+1,py=n+1;
  for(Int m=20;m>=0;m--){
    vector<Int> b(n);
    for(Int i=0;i<n;i++) b[i]=a[i]>>m;
    Int nk=(k<<1)|1;
    bool ok=0;
    map<Int, Int> pos;
    Int x=0,idx=n+1,idy=n+1;
    for(Int i=0;i<n;i++){      
      if(!pos.count(x)) pos[x]=i;
      x^=b[i];
      if(pos.count(nk^x)){
	ok=1;
	if(pos[nk^x]<idx||(pos[nk^x]==idx&&i<idy))
	  tie(idx,idy)=make_pair(pos[nk^x],i);
      }
    }
    //cout<<nk<<":"<<ok<<endl;
    k<<=1;
    if(ok){
      k++;
      px=idx;
      py=idy;
    }
  }
  cout<<k<<" "<<px+1<<" "<<py+1<<endl;
  return 0;
}

Submission Info

Submission Time
Task F - Maximum Segment XOR
User beet
Language C++14 (GCC 5.4.1)
Score 0
Code Size 786 Byte
Status WA
Exec Time 596 ms
Memory 7796 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 30
WA × 1
Set Name Test Cases
All 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 4, 5, 6, 7, 8, 9
Case Name Status Exec Time Memory
1 AC 1 ms 256 KB
10 AC 4 ms 256 KB
11 AC 3 ms 256 KB
12 AC 2 ms 256 KB
13 AC 26 ms 640 KB
14 AC 33 ms 896 KB
15 AC 40 ms 956 KB
16 AC 252 ms 4360 KB
17 AC 161 ms 2660 KB
18 AC 596 ms 7796 KB
19 AC 1 ms 256 KB
2 AC 1 ms 256 KB
20 AC 1 ms 256 KB
21 AC 1 ms 256 KB
22 AC 2 ms 256 KB
23 AC 1 ms 256 KB
24 AC 2 ms 256 KB
25 AC 7 ms 512 KB
26 AC 4 ms 384 KB
27 AC 14 ms 768 KB
28 AC 246 ms 5300 KB
29 AC 372 ms 5724 KB
3 AC 1 ms 256 KB
30 AC 163 ms 3724 KB
31 AC 349 ms 7348 KB
4 WA 1 ms 256 KB
5 AC 1 ms 256 KB
6 AC 1 ms 256 KB
7 AC 1 ms 256 KB
8 AC 1 ms 256 KB
9 AC 3 ms 256 KB