This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;
int n;bool u[250001];
int o(int a,int b){return (a+b)<=n?(a+b):(a+b)-n;}
int valid(int an, int inputSeq[]){
n=an;int g=-1;
for(int i=0;i<n;i++){if(inputSeq[i]<=n)g=i;if(u[inputSeq[i]])return 0;u[inputSeq[i]]=1;}
if(g==-1)return 1;
for(int i=g;i<n;i++)if(inputSeq[i]<=n&&inputSeq[i]!=o(inputSeq[g],i-g))return 0;
for(int i=0;i<g;i++)if(inputSeq[i]<=n&&inputSeq[i]!=o(inputSeq[g],n-g+i))return 0;
return 1;
}
//----------------------
int replacement(int an, int gondolaSeq[], int replacementSeq[]){
n=an;vector<pair<int,int>> g;
int e=-1;
for(int i=0;i<n;i++)if(gondolaSeq[i]<=n){e=i;break;}
if(e==-1){
for(int i=0;i<n;i++)g.push_back({gondolaSeq[i],i+1});
}
else{
for(int i=e;i<n;i++)g.push_back({gondolaSeq[i],o(gondolaSeq[e],i-e)});
for(int i=0;i<e;i++)g.push_back({gondolaSeq[i],o(gondolaSeq[e],n-e+i)});
}
sort(g.begin(),g.end());
int c=n+1,r=0;
for(auto i:g){
if(i.first==i.second)continue;
//cerr<<i.first<<':'<<i.second<<endl;
replacementSeq[r]=i.second;r++;
for(;c<i.first;c++){
replacementSeq[r]=c;r++;
}c++;
}
//for(int i=0;i<r;i++)cerr<<replacementSeq[i]<<' ';cerr<<endl;
return r;
}
//----------------------
int countReplacement(int an, int inputSeq[]){
n=an;
return -3;
}
# | 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... |