Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define gc c=getchar()
- #define r(x) read(x)
- #define ll long long
- template<typename T>
- inline void read(T&x){
- x=0;T k=1;char gc;
- while(!isdigit(c)){if(c=='-')k=-1;gc;}
- while(isdigit(c)){x=x*10+c-'0';gc;}x*=k;
- }
- const int N=3e7+7;
- int A[N];
- int main(){
- freopen("magician.in","r",stdin);
- freopen("magician.out","w",stdout);
- int n,S,B,C,D;
- r(n),r(S),r(B),r(C),r(D);
- for(int i=1;i<=n;++i){
- A[i]=i;
- S=((ll)S*B+C)%D;
- swap(A[i],A[S%i+1]);
- }
- // for(int i=1;i<=n;++i){
- // printf("%d ",A[i]);
- // }
- int ans=0;
- for(int i=1;i<=n;++i){
- ans=max(ans,i-A[i]);
- }
- printf("%d\n",ans);
- }
Advertisement
Add Comment
Please, Sign In to add comment