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 <iostream>
using namespace std;
int valid(int n, int inputSeq[])
{
int minn=10000,minl=n;
int tag[250001];
for(int i=1;i<=250000;i++)tag[i]=0;
for(int i=0;i<n;i++)if(inputSeq[i]<minn&&0<inputSeq[i]&&inputSeq[i]<=n)
{
minn=inputSeq[i];
minl=i;
}
int t=1,m=n;
while(m>0)
{
if(minl>=n)minl=0;
if((inputSeq[minl]!=minn&&0<inputSeq[minl]&&inputSeq[minl]<=n)||tag[inputSeq[minl]]==1)t=0;
tag[inputSeq[minl]]=1;
// cout<<minn<<","<<minl<<","<<inputSeq[minl]<<","<<tag[inputSeq[minl]]<<endl;
m--;
minl++;
minn++;
}
return t;
}
int a[500001],b[500001],c[500001];
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
int minl=2500000,minn=n;
for(int i=1;i<=n;i++)a[i]=gondolaSeq[i-1];
for(int i=1;i<=n;i++)if(0<a[i]&&a[i]<=n)
{
minl=i;
i=n+1;
}
int m=n;int max=0;
while(m>0)
{
if(minl>n)minl=1;
b[n-m+1]=a[minl];
if(max<b[n-m+1])max=b[n-m+1];
minl++;
m--;
}
// for(int i=1;i<=n;i++)cout<<b[i]<<" ";cout<<endl;
for(int i=1;i<=n;i++)if(b[i]==i)a[i]=0;else a[i]=i;
for(int i=1;i<=n;i++)if(a[i]!=0)c[b[i]]=a[i];
// for(int i=1;i<=n;i++)cout<<a[i]<<" ";cout<<endl;
// for(int i=n+1;i<=max;i++)cout<<c[i]<<" ";cout<<endl;
int x=0,last=0;
for(int i=max;i>n;i--)if(c[i]!=0)
{
// cout<<";"<<i<<","<<x<<endl;
int t;
t=x;
x=c[i];
c[i]=t;
if(i>last)last=i;
}
c[n]=x;
for(int i=n+1;i<=max;i++)if(c[i]==0)c[i]=i;
// for(int i=n;i<max;i++)cout<<c[i]<<" ";cout<<endl;
for(int i=n;i<max;i++)replacementSeq[i-n]=c[i];
return max-n;
}
int countReplacement(int n, int inputSeq[])
{
return -3;
}
Compilation message (stderr)
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:34:19: warning: unused variable 'minn' [-Wunused-variable]
int minl=2500000,minn=n;
^~~~
# | 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... |