제출 #422193

#제출 시각아이디문제언어결과실행 시간메모리
422193dreezyGondola (IOI14_gondola)C++17
25 / 100
11 ms844 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; /**********************/ int valid(int n, int inputSeq[]) { int preval = -1; for(int i =0; i<n; i++){ //cout << preval<<endl; if(preval == -1){ if(inputSeq[i] <= n) preval = inputSeq[i]; continue; } if(inputSeq[i] <=n){ if(preval == n){ if(inputSeq[i] != 1) return false; } else if(inputSeq[i]!= preval+1) return false; preval = inputSeq[i]; } else{ //replacement, num can be anything if(preval == n) preval = 1; else preval++; } } if(inputSeq[n-1] == n) return inputSeq[0] == 1; else return inputSeq[n-1] +1 == inputSeq[0]; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int preval = -1; for(int i =n -1; i>=0; i--){ if(gondolaSeq[i] <=n){ preval = (n - i) + gondolaSeq[i]; if(preval> n) preval-=n; break; } } set<pair<int,int>> replace; if(preval == -1){ //all of them were replaced for(int i = 0; i<n; i++){ replace.insert({gondolaSeq[i], i+1}); } } else{ preval-=1; for(int i =0; i<n; i++){ if(gondolaSeq[i] <=n){ preval = gondolaSeq[i]; } else{ //replacement, num can be anything if(preval == n){ replace.insert({gondolaSeq[i], 1}); preval = 1; } else { replace.insert({gondolaSeq[i], ++preval}); } } } } int cnt = 0; for(pair<int,int> a : replace){ //cout <<a.first<<", "<<a.second<<endl; replacementSeq[cnt] = a.second; cnt++; } return cnt; } //---------------------- 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...