Submission #338702

#TimeUsernameProblemLanguageResultExecution timeMemory
338702limabeans수열 (BOI14_sequence)C++17
34 / 100
1098 ms1388 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; int n; vector<int> a; set<int> digits(int x) { set<int> res; while (x) { res.insert(x%10); x/=10; } return res; } bool test(int x) { for (int i=0; i<n; i++) { int cur=x+i; bool ok = false; while (cur) { if (a[i]==cur%10) { ok=true; break; } cur/=10; } if (!ok) { return false; } } return true; } int brute(vector<int> a) { for (int i=1; ; i++) { if (test(i)) return i; } assert(false); return -1; } int solve1(int d) { if (1<=d && d<=8) { int ten = 1; while (ten < n) ten *= 10; return d*ten; } else if (d==0) { int ans = 10; int hit = 1; while (hit<n) { ans *= 10; hit *= 10; hit += 1; } return ans; } else if (d==9) { for (int len=1;;len++) { string lo; for (int i=0; i<len-1; i++) lo += '8'; lo += '9'; string hi(len,'9'); int have = stoi(hi)-stoi(lo)+1; if (have >= n) { return stoi(lo); } } } assert(false); return -1; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n; a.resize(n); set<int> st; for (int i=0; i<n; i++) { cin>>a[i]; st.insert(a[i]); } if ((int)st.size() == 1) { int res = solve1(a[0]); out(res); } int bru = brute(a); out(bru); 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...