Why judge shows runtime error for this code?

Revision en1, by u1804011, 2020-11-30 10:45:11

include<bits/stdc++.h>

define pb push_back

define fin(i,arr,n) for(i=0;i<n;i++)cin>>arr[i]

define fout(i,arr,n) for(i=0;i<n;i++)cout<<arr[i]<<" "

define inf 9223372036854775807

define vi vector

define init ll n,m,a,i,b,j,k,t,x,y,z,tc,u,v,w

define f(i,n) for(i=0;i<n;i++)

define mem(a,x) memset(a,x,sizeof(a))

define sortt(v) sort(v.begin(),v.end())

define sitr(itr,st) for(itr=st.begin();itr!=st.end();itr++)

define pr pair<ll,ll>

define pi acos(-1.00)

define mod 1000000007

using namespace std; typedef long long ll; struct node { bool endmark; node* next[3]; node() { endmark=0; ll i; f(i,3) next[i]=NULL; } }*root;

void insert(string str) { ll sz=str.size(); node* curr=root; ll i; f(i,sz) { ll id=str[i]-'0'; if(curr->next[id]==NULL) curr->next[id]=new node(); curr=curr->next[id];

} curr->endmark=1;

} ll query(string str) { ll sz=str.size(); node* curr=root; string tt=""; ll i; f(i,sz) { ll id=str[i]-'0'; if(curr->next[!id]) tt+=char('0'+!id),curr=curr->next[!id]; else if(curr->next[id]) { tt+=char('0'+id),curr=curr->next[id]; } else tt+=str[i]; } bitset<40>bit(tt); return bit.to_ulong(); } string binary(ll n) { ll u; string tt=""; while(n) { u=n%2; if(u==0) tt="0"+tt; else tt="1"+tt; n/=2; } ll sz=tt.size(); for(ll i=0;i<40-sz;i++) tt="0"+tt; return tt; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //freopen("read.txt","r",stdin); //freopen("write.txt","w",stdout); init; root=new node(); ll arr[100005],pre1[100005],pre2[100005],ans=0; //cout<<binary(12)<<endl; cin>>n; f(i,n) { cin>>arr[i]; if(i==0) pre1[i]=arr[i]; else pre1[i]=pre1[i-1]^arr[i]; ans=max(ans,pre1[i]);

}
  for(i=n-1;i>=0;i--)
  {
      if(i==n-1)
        pre2[i]=arr[i];
      else pre2[i]=pre2[i+1]^arr[i];
      ans=max(ans,pre2[i]);
  }
  for(i=n-2;i>=0;i--)
  {
      insert(binary(pre2[i+1]));
      ans=max(ans,pre1[i]^query(binary(pre1[i])));
  }
  cout<<ans<<endl;

}

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English u1804011 2020-11-30 10:47:57 2498
en1 English u1804011 2020-11-30 10:45:11 2553 Initial revision (published)