Submission #3800264
Source Code Expand
/** * File : C.cpp * Author : Kazune Takahashi * Created : 2018-12-15 21:49:53 * Powered by Visual Studio Code */ #include <iostream> #include <iomanip> // << fixed << setprecision(xxx) #include <algorithm> // do { } while ( next_permutation(A, A+xxx) ) ; #include <vector> #include <string> // to_string(nnn) // substr(m, n) // stoi(nnn) #include <complex> #include <tuple> #include <queue> #include <stack> #include <map> // if (M.find(key) != M.end()) { } #include <set> #include <functional> #include <random> // auto rd = bind(uniform_int_distribution<int>(0, 9), mt19937(19920725)); #include <chrono> // std::chrono::system_clock::time_point start_time, end_time; // start = std::chrono::system_clock::now(); // double elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end_time-start_time).count(); #include <cctype> #include <cassert> #include <cmath> #include <cstdio> #include <cstdlib> using namespace std; #define DEBUG 0 // change 0 -> 1 if we need debug. typedef long long ll; // const int dx[4] = {1, 0, -1, 0}; // const int dy[4] = {0, 1, 0, -1}; // const int C = 1e6+10; // const ll M = 1000000007; int N; int A[200010]; int K[100]; int S; bool solve(int X) { fill(K, K + A[0], 0); for (auto i = 0; i < N - 1; i++) { if (A[i] > A[i + 1]) { S = A[i + 1]; } else { bool ok = false; for (auto j = A[i] - 1; j >= 0; j--) { K[j]++; if (K[j] == X) { K[j] = 0; } else { ok = true; break; } } if (!ok) { return false; } for (auto j = A[i]; j < A[i + 1]; j++) { K[j] = 0; } } } return true; } int main() { cin >> N; for (auto i = 0; i < N; i++) { cin >> A[i]; A[i] = min(100, A[i]); } reverse(A, A + N); int ub = N; int lb = 0; while (ub - lb > 1) { int t = (ub + lb) / 2; if (solve(t)) { ub = t; } else { lb = t; } } cout << ub << endl; }
Submission Info
Submission Time | |
---|---|
Task | C - Lexicographic constraints |
User | kazunetakahashi |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2158 Byte |
Status | WA |
Exec Time | 114 ms |
Memory | 1152 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 700 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample01.txt, sample02.txt |
All | sample01.txt, sample02.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, sample01.txt, sample02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in01.txt | AC | 114 ms | 1024 KB |
in02.txt | AC | 112 ms | 1024 KB |
in03.txt | AC | 114 ms | 1024 KB |
in04.txt | AC | 81 ms | 1024 KB |
in05.txt | AC | 83 ms | 1152 KB |
in06.txt | AC | 80 ms | 1024 KB |
in07.txt | AC | 76 ms | 1024 KB |
in08.txt | AC | 84 ms | 1024 KB |
in09.txt | AC | 43 ms | 1152 KB |
in10.txt | AC | 54 ms | 1024 KB |
in11.txt | AC | 59 ms | 1024 KB |
in12.txt | AC | 60 ms | 1024 KB |
in13.txt | AC | 60 ms | 1024 KB |
in14.txt | AC | 79 ms | 1024 KB |
in15.txt | AC | 68 ms | 1024 KB |
in16.txt | WA | 84 ms | 1024 KB |
in17.txt | AC | 78 ms | 1024 KB |
in18.txt | AC | 1 ms | 256 KB |
in19.txt | WA | 83 ms | 1024 KB |
in20.txt | AC | 49 ms | 1024 KB |
in21.txt | AC | 47 ms | 1024 KB |
in22.txt | AC | 48 ms | 1024 KB |
in23.txt | AC | 50 ms | 1024 KB |
in24.txt | AC | 49 ms | 1024 KB |
in25.txt | AC | 45 ms | 1024 KB |
in26.txt | AC | 45 ms | 1024 KB |
in27.txt | AC | 44 ms | 1024 KB |
sample01.txt | AC | 1 ms | 256 KB |
sample02.txt | AC | 1 ms | 256 KB |