# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
127842 | StevenH | Gondola (IOI14_gondola) | C++14 | 16 ms | 2296 KiB |
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 <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int tag[10000000];
int a[2*100000+5];
int valid(int n, int inputSeq[])
{
for(int i=0;i<n;i++)
a[i]=a[n+i]=inputSeq[i];
for(int i=0;i<n;i++)
{
if(!tag[a[i]])tag[a[i]]=1;
else return 0;
}
int t=0;
for(int i=0;i<n;i++)
if(a[i]<=n)t=1;
if(t==0)return 1;
int res;t=0;
for(int i=0;i<2*n;i++)
if(a[i]>=1 && a[i]<=n && i+1>=a[i])
{res=i;t=1;break;}
for(int i=res;i<=res+n-a[res];i++)
if(a[i]>=1 && a[i]<=n)
if(a[i]!=i-res+a[res])return 0;
return 1;
}
//----------------------
int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
for(int i=0;i<n;i++)
a[i]=a[n+i]=gondolaSeq[i];
int res;
for(int i=0;i<2*n;i++)
if(a[i]>=1 && a[i]<=n && i+1>=a[i])
{res=i;break;}
int l=0;
int mx=res-a[res]+1;
for(int i=res-a[res]+1;i<=res+n-a[res];i++)
if(a[i]>n)
if(a[i]>a[mx])
mx=i;
for(int i=res-a[res]+1;i<=res+n-a[res];i++)
if(a[i]>n && i!=mx)
replacementSeq[a[i]-n-1]=i-res+a[res];
int r=mx-res+a[res];
int rr=a[mx]-n;
for(int i=0;i<rr;i++)
if(!replacementSeq[i])
replacementSeq[i]=r;
if(rr<0)return 0;
return rr;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
return 1;
}
Compilation message (stderr)
# | 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... |