제출 #127854

#제출 시각아이디문제언어결과실행 시간메모리
127854zozder곤돌라 (IOI14_gondola)C++14
35 / 100
16 ms1912 KiB
#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(a[i]<minn&&0<a[i]&&a[i]<=n) { minn=a[i]; minl=i; } 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; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...