Solution
3405-Sliding_Window_Or.cpp
1#include<bits/stdc++.h>
2using namespace std;
3#define int long long
4signed main(){
5 ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
6 int n,k,x,a,b,c; cin>>n>>k>>x>>a>>b>>c;
7 int po[n],so[n],i=1; for(po[0]=x,so[0]=x;i<n;++i)
8 po[i]=(po[i-1]*a+b)%c,so[i]=po[i];
9 for(int l=0,r=k-1;l<n;l+=k,r+=k,r=min(r,n-1)){
10 for(i=l+1;i<=r;++i) po[i]|=po[i-1];
11 for(i=r-1;i>=l;--i) so[i]|=so[i+1];
12 }
13 int ans=0;
14 for(i=0;i<=n-k;++i)
15 ans^=(so[i]|po[i+k-1]);
16 cout<<ans<<'\n';
17 return 0;
18}Editorial not yet generated for this problem. Run the editorial generation script to add hints and detailed explanations.