Submission #1247609

#TimeUsernameProblemLanguageResultExecution timeMemory
1247609akmuhammet_sXORanges (eJOI19_xoranges)C++20
38 / 100
1095 ms3144 KiB
#include<algorithm> #include<iostream> #include<string.h> #include<string> #include<vector> #include<math.h> #include<map> #include<set> using namespace std; #define mod 998244353 #define ll long long #define N 24 #define maxn 200005 void solve(){ int n,q; cin>>n>>q; int a[n+5],xr[n+5]; xr[0]=0; for(int i=1; i<=n; i++){ cin>>a[i]; if(i<=2){ xr[i]=a[i]; }else{ xr[i]=xr[i-2]^a[i]; } } for(int i=1; i<=q; i++){ int x,y,z; cin>>x>>y>>z; if(x==1){ xr[y]=xr[y]^a[y]; a[y]=z; xr[y]=xr[y]^a[y]; y+=2; while(y<=n){ xr[y]=xr[y-2]*a[y]; } }else{ if((y-z+1)%2==0){ cout<<0<<'\n'; }else{ if(y<=2){ cout<<xr[z]<<'\n'; }else{ int ans=xr[z]; ans=ans^xr[y-2]; cout<<ans<<'\n'; } } } } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll t=1; // cin>>t; while(t--) solve(); }
#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...