# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
824760 | 2023-08-14T09:45:32 Z | QwertyPi | Sequence (BOI14_sequence) | C++14 | 1000 ms | 1100 KB |
#include <bits/stdc++.h> #define int long long using namespace std; const int MAXK = 1e5 + 11; char c[MAXK]; int query(int base, bool geq1, bool prv2, int pw10, vector<int> a){ // cout << "QUERY " << base << ' ' << geq1 << ' ' << pw10 << endl; // cout << "a[] "; for(auto i : a) cout << i << ' '; cout << endl; if(a.size() == 1){ if(a[0] == 0) return base; if(a[0] == 0 && geq1) return pw10 + base; if(a[0] == 1) return 10 * pw10 + base; if(a[0] & 1){ int fi = 1; while(!(a[0] & (1 << fi))) fi++; int r = fi * 10; for(int i = fi + 1; i < 10; i++) if(a[0] & (1 << i)) r = r * 10 + i; return r * pw10 + base; }else{ int r = 0; for(int i = 1; i < 10; i++) if(a[0] & (1 << i)) r = r * 10 + i; return r * pw10 + base; } } int res = 1LL << 60; for(int c0 = 0; c0 <= 9 - prv2; c0++){ vector<int> b {0}; bool n_geq1 = false; for(int i = 0; i < a.size(); i++){ int g = c0 + i; if(g > 0 && g % 10 == 0){ b.push_back(0); } int v = a[i]; if(!(c0 == 0 && i == 0)){ n_geq1 = true; } v -= v & (1 << g % 10); b.back() |= v; } res = min(res, query(base + pw10 * c0, n_geq1, a.size() == 2, pw10 * 10, b)); } return res; } int clever(vector<int> a){ return query(0, false, false, 1, a); } int cc(int x){ int r = 0; while(x != 0){ r |= (1 << x % 10); x /= 10; } return r; } int brute(vector<int> a){ for(int i = 1;; i++){ bool ok = true; for(int j = 0; j < a.size(); j++){ ok &= (cc(i + j) & a[j]) == a[j]; } if(ok) return i; } } int32_t main() { int n; cin >> n; for(int i = 0; i < n; i++){ cin >> c[i]; } if(n == 1){ cout << c[0] << endl; return 0; } vector<int> a; for(int i = 0; i < n; i++){ int st = 1 << (c[i] - '0'); a.push_back(st); } int ans = brute(a); cout << ans << endl; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 2 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 1 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
7 | Correct | 1 ms | 212 KB | Output is correct |
8 | Correct | 5 ms | 212 KB | Output is correct |
9 | Incorrect | 1 ms | 212 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 2 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 1 ms | 212 KB | Output is correct |
5 | Correct | 1 ms | 212 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
7 | Correct | 45 ms | 308 KB | Output is correct |
8 | Correct | 1 ms | 312 KB | Output is correct |
9 | Correct | 5 ms | 312 KB | Output is correct |
10 | Incorrect | 0 ms | 308 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 2 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 1 ms | 212 KB | Output is correct |
5 | Execution timed out | 1068 ms | 1100 KB | Time limit exceeded |
6 | Halted | 0 ms | 0 KB | - |