제출 #16428

#제출 시각아이디문제언어결과실행 시간메모리
16428atomzeno곤돌라 (IOI14_gondola)C++98
20 / 100
16 ms6356 KiB
#include "gondola.h" #include<algorithm> using namespace std; #define MX 250001 int d[MX],check[MX]; int l,ind; int valid(int n, int inputSeq[]){ int i,cnt=0,ind; for(i=0;i<=250000;i++){ check[i]=0; } for(i=0;i<n;i++){ if(inputSeq[i]<=n){ cnt=1; ind=(inputSeq[i]-1-i)+n; ind%=n; break; } } for(i=0;i<n;i++){ check[inputSeq[i]]++; if(check[inputSeq[i]]>=2){return 0;} } if(cnt==0){return 1;} for(i=0;i<n;i++){ d[(ind+i)%n]=inputSeq[i]; } for(i=0;i<n;i++){ if(d[i]<=n&&d[i]!=(i+1)){ return 0; } } return 1; } struct DT{ int x,y; bool operator<(const DT&r)const{ return r.x>x; } }make[MX]; int replacement(int n, int gondolaSeq[], int replacementSeq[]){ int ll=0,j,i,fl=0,o=-1; for(i=0;i<n;i++){ if(gondolaSeq[i]<n){ fl=1; break; } } for(j=0;j<n;j++){ make[j].x=gondolaSeq[j]; if(fl==1){ make[j].y=(gondolaSeq[i]-i+n+j)%n; if(make[j].y==0){make[j].y=n;} } } sort(make,make+n); if(fl==0){ for(j=0;j<n;j++){make[j].y=j+1;} } o=0; for(j=0;j<n;j++){ for(;;){ if(make[j].x==make[j].y){break;} else{ if(o==0){ o=1; replacementSeq[ll++]=make[j].y; make[j].y=n+1; } else{ replacementSeq[ll++]=make[j].y; make[j].y++; } } } } return ll; } //---------------------- 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...