#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |