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 <algorithm>
int arr[250001];
int now[250001];
int valid(int n, int inputSeq[])
{
int i,j;
for(i=0;i<n;i++)if(inputSeq[i]<=n)break;
if(i<n)for(j=0;j<n;j++)if(inputSeq[i]<=n&&(inputSeq[j]+i)%n!=(inputSeq[i]+j)%n)return 0;
std::sort(inputSeq,inputSeq+n);
for(i=1;i<n;i++)if(inputSeq[i-1]==inputSeq[i])return 0;
return 1;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
int i,j;
for(i=1;i<=250000;i++)arr[i]=-1;
for(i=0;i<n;i++)arr[gondolaSeq[i]]=i;
for(i=0;i<n;i++)if(gondolaSeq[i]<=n)break;
for(j=0;j<n;j++)now[j]=i<n?(gondolaSeq[i]+j-i+n-1)%n+1:j+1;
j=0;
for(i=0;i<n;i++)if(gondolaSeq[i]>j)j=gondolaSeq[i];
for(i=n+1;i<=j;i++)
{
replacementSeq[i-n-1]=arr[i]>=0?now[arr[i]]:now[arr[j]];
now[arr[i]>=0?arr[i]:arr[j]]=i;
}
return j-n;
}
int countReplacement(int n, int inputSeq[])
{
return -1;
}
# | 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... |