제출 #212655

#제출 시각아이디문제언어결과실행 시간메모리
212655mohamedsobhi777곤돌라 (IOI14_gondola)C++14
55 / 100
26 ms2808 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std ; const int N = 3e5 + 7 ; int valid(int n, int inputSeq[]){ vector<int> vis(N , 0) ; int cur = inputSeq[0] -1 ; for(int i = 0 ; i < n; i++){ if(vis[inputSeq[i]]++)return 0 ; if(--inputSeq[i]!=cur) return 0 ; cur = (cur+1) %n ; } return 1 ; } int ab[N] ; int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int proto[N] ; for(int i = 0 ; i <n; i++)proto[i] = i+1 ; for(int i = 0 ; i <n; i++){ if(gondolaSeq[i] <=n){ int k = gondolaSeq[i] +1; proto[i] = gondolaSeq[i] ; if(k==n+1)k=1 ; for(int j = 1 ; j < n ;j++){ int loc = (i+j)%n; proto[loc] = k++ ; if(k==n+1)k = 1 ; } break; } } int cur = 0 , ladder = n +1 ; vector< pair<int, int > > q ; for(int i = 0 ; i < n ;i++){ q.push_back({gondolaSeq[i] , proto[i]}); } sort(q.begin(), q.end()) ; for(int i= 0 ; i < n; i++){ int fr = q[i].first , se = q[i] .second ; while(se < fr){ replacementSeq[cur++] = se ; se = ladder ++ ; } } return cur ; } 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...