yicongli

T162T1

Mar 28th, 2019
597
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.70 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define gc c=getchar()
  6. #define r(x) read(x)
  7. #define ll long long
  8.  
  9. template<typename T>
  10. inline void read(T&x){
  11.     x=0;T k=1;char gc;
  12.     while(!isdigit(c)){if(c=='-')k=-1;gc;}
  13.     while(isdigit(c)){x=x*10+c-'0';gc;}x*=k;
  14. }
  15.  
  16. const int N=3e7+7;
  17.  
  18. int A[N];
  19.  
  20. int main(){
  21.     freopen("magician.in","r",stdin);
  22.     freopen("magician.out","w",stdout);
  23.     int n,S,B,C,D;
  24.     r(n),r(S),r(B),r(C),r(D);
  25.     for(int i=1;i<=n;++i){
  26.         A[i]=i;
  27.         S=((ll)S*B+C)%D;
  28.         swap(A[i],A[S%i+1]);
  29.     }
  30.     // for(int i=1;i<=n;++i){
  31.     //     printf("%d ",A[i]);
  32.     // }
  33.     int ans=0;
  34.     for(int i=1;i<=n;++i){
  35.         ans=max(ans,i-A[i]);
  36.     }
  37.     printf("%d\n",ans);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment