제출 #1308293

#제출 시각아이디문제언어결과실행 시간메모리
1308293Rares곤돌라 (IOI14_gondola)C++20
55 / 100
11 ms6084 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; /**ifstream fin ("date.in"); ofstream fout ("date.out"); #define cin fin #define cout fout**/ const int MAXN=1e6+10; const int MOD=1e9+9; int f[MAXN],f2[MAXN]; int valid (int n, int a[]){ int x=-1; for (int i=n;i>=1;--i){ a[i]=a[i-1]; } for (int i=1;i<=n;++i){ if (f2[a[i]]) return false; f2[a[i]]++; if (a[i]>n) continue; int crt=a[i]-i; if (crt<0) crt+=n; if (x==-1){ x=crt; } else{ if (x!=crt) return 0; } } return 1; } int val[MAXN]; int replacement(int n, int a[], int b[]){ int crt=-1; for (int i=n;i>=1;--i){ a[i]=a[i-1]; } for (int i=1;i<=n;++i){ if (a[i]<n){ crt=a[i]-i; if (crt<0) crt+=n; } } if (crt==-1){ int maxx=0,pcrt=1; for (int i=1;i<=n;++i){ val[a[i]]=i; if (maxx<a[i]){ maxx=a[i]; pcrt=i; } a[i]=i; } for (int i=n+1;i<=maxx;++i){ if (val[i]){ b[i-n-1]=a[val[i]]; a[val[i]]=i; } else{ b[i-n-1]=a[pcrt]; a[pcrt]=i; } } return maxx-n; } int maxx=0,pcrt=0; for (int i=1;i<=n;++i){ if (a[i]>maxx){ maxx=a[i]; pcrt=i; } if (a[i]>n){ int p=crt+i; if (p>n) p-=n; val[a[i]]=i; a[i]=p; } } for (int i=n+1;i<=maxx;++i){ if (val[i]){ b[i-n-1]=a[val[i]]; a[val[i]]=i; } else{ b[i-n-1]=a[pcrt]; a[pcrt]=i; } } /**cout <<maxx-n<<'\n'; for (int i=0;i<maxx-n;++i){ cout <<b[i]<<' '; }**/ return maxx-n; } int countReplacement(int n, int inputSeq[]){ return 0; }
#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...
#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...