Submission #775236

#TimeUsernameProblemLanguageResultExecution timeMemory
775236boris_mihovGondola (IOI14_gondola)C++17
0 / 100
1 ms256 KiB
#include "gondola.h" #include <algorithm> #include <iostream> #include <cassert> #include <numeric> #include <vector> #include <set> typedef long long llong; const int MAXN = 100000 + 10; const int INF = 1e9; std::set <int> s; int n; int getPosDiff(int last, int curr) { if (last > curr) { return n - last + curr; } return curr - last; } int valid(int N, int inputSeq[]) { n = N; int minPos = 0; for (int i = 1 ; i < n ; ++i) { if (s.count(inputSeq[i])) { return 0; } s.insert(inputSeq[i]); if (inputSeq[i] < inputSeq[minPos]) { minPos = i; } } if (inputSeq[minPos] > n) { return 1; } for (int i = minPos - 1 ; i >= std::max(0, minPos - inputSeq[minPos] + 1) ; --i) { if (inputSeq[i] <= n) { return 0; } } if (minPos + 1 < inputSeq[minPos]) { for (int i = n - 1 ; i >= n + minPos + 1 - inputSeq[minPos] ; --i) { if (inputSeq[i] <= n) { return 0; } } } int last = 0; int lastPos = -INF;; for (int i = minPos ; i < n ; ++i) { if (inputSeq[i] <= n) { if (last > inputSeq[i]) { return 0; } if (getPosDiff(lastPos, i) != inputSeq[i] - last) { return 0; } last = inputSeq[i]; lastPos = i; } } for (int i = 1 ; i < minPos ; ++i) { if (inputSeq[i] <= n) { if (last > inputSeq[i]) { return 0; } if (getPosDiff(lastPos, i) != inputSeq[i] - last) { return 0; } last = inputSeq[i]; lastPos = i; } } return 1; } //---------------------- int a[MAXN]; int replacement(int N, int gondolaSeq[], int replacementSeq[]) { return -2; n = N; int minPos = 0; for (int i = 1 ; i < n ; ++i) { if (gondolaSeq[i] < gondolaSeq[minPos]) { minPos = i; } } // int cnt = inPu // for (int i = minPos - 1 ) } //---------------------- 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...