Submission #421889

#TimeUsernameProblemLanguageResultExecution timeMemory
421889Drew_Sequence (BOI14_sequence)C++17
25 / 100
10 ms888 KiB
#include <iostream> using namespace std; const int MAX = 1e5 + 69; int n; int ar[MAX]; int val0[6] = {1, 10, 100, 1000, 10000, 100000}; int val1[6] = {1, 11, 111, 1111, 11111, 111111}; inline bool yes(int num) { for (int i = 0; i < n; ++i) { bool ok = false; int tmp = num + i; while (tmp) { if (tmp % 10 == ar[i]) { ok = true; break; } tmp /= 10; } if (!ok) return false; } return true; } inline int brute() { for (int i = 1;; ++i) { if (yes(i)) return i; } return -1; } inline int greedy() { if (ar[0] == 0) { int id = -1; for (int i = 0; i < 6; ++i) { if (val1[i] >= n) { id = i; break; } } int res = 10; for (int i = 0; i < id; ++i) res *= 10; return res; } else if (ar[0] <= 8) { int id = -1; for (int i = 0; i < 6; ++i) { if (val0[i] >= n) { id = i; break; } } int res = ar[0]; for (int i = 0; i < id; ++i) res *= 10; return res; } else { int id = -1; for (int i = 0; i < 6; ++i) { if (val1[i] >= n) { id = i; break; } } int res = 0; for (int i = 0; i < id; ++i) res = res * 10 + 8; return res * 10 + 9; } } int main() { ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; ++i) cin >> ar[i]; cout << greedy() << '\n';; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...