제출 #12707

#제출 시각아이디문제언어결과실행 시간메모리
12707qja0950곤돌라 (IOI14_gondola)C++98
55 / 100
32 ms4620 KiB
#include "gondola.h" #define MAX_N 101101 #define MAX_V 250052 int CheckV[MAX_V]; int valid(int n, int inputSeq[]) { for(int i=0; i<n; i++) { int now = inputSeq[i]; CheckV[now]++; if(CheckV[now] > 1) return 0; } int first = -1; for(int i=0; i<n; i++) { int now = inputSeq[i]; if(now > n) continue; first = i; break; } if(first == -1) return 1; for(int i=0; i<n; i++) { int index = (first + i) % n; int value = (inputSeq[first] + i - 1) % n + 1; int now = inputSeq[index]; if(now > n) continue; if(now != value) return 0; } return 1; } //---------------------- #include <algorithm> using namespace std; struct SORTR{ int index; int value; }SortR[MAX_N]; bool operator<(SORTR X, SORTR Y) { return X.value < Y.value; } int State[MAX_N]; int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int first = 0; for(int i=0; i<n; i++) { int now = gondolaSeq[i]; if(now > n) continue; first = i; break; } for(int i=0; i<n; i++) { int index = (first + i) % n; int value = (gondolaSeq[first] + i - 1) % n + 1; State[index] = value; SortR[i].index = i; SortR[i].value = gondolaSeq[i]; } sort(SortR, SortR+n); int cnt = 0; int now = n; for(int i=0; i<n; i++) { int nowindex = SortR[i].index; int nowvalue = SortR[i].value; if(nowvalue < n) continue; while(State[nowindex] != nowvalue) { replacementSeq[cnt++] = State[nowindex]; State[nowindex] = ++now; } } 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...