# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
134427 | 2019-07-22T16:39:34 Z | Kastanda | 수열 (BOI14_sequence) | C++11 | 4 ms | 376 KB |
// ItnoE #include<bits/stdc++.h> using namespace std; typedef long long ll; inline ll Solve(vector < int > A, bool w) { int n = (int)A.size(); if (!(*max_element(A.begin(), A.end()))) return (!w); if (n == 1) { ll rs = 0; for (int i = 1; i <= 9; i ++) if (A[0] >> i & 1) { rs = rs * 10 + i; if (A[0] & 1) rs *= 10, A[0] ^= 1; } return (rs); } ll rs = (ll)1e17; for (int i = 0; i <= 9; i ++) { int d = i, k = 0; vector < int > B; for (int j = 0; j < n; j ++) { if (j && !d) B.push_back(k), k = 0; k |= A[j] ^ (A[j] & (1 << d)); d ++; if (d >= 10) d -= 10; } B.push_back(k); if (A == B) continue; ll rt = Solve(B, w | (i > 0)); rs = min(rs, rt * 10 + i); } return (rs); } int main() { int n; scanf("%d", &n); vector < int > A(n); for (int &a : A) scanf("%d", &a), a = 1 << a; return !printf("%lld\n", Solve(A, 0)); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 3 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Incorrect | 2 ms | 256 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 3 ms | 256 KB | Output is correct |
3 | Correct | 2 ms | 256 KB | Output is correct |
4 | Incorrect | 2 ms | 256 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 256 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 376 KB | Output is correct |
2 | Correct | 4 ms | 376 KB | Output is correct |
3 | Correct | 3 ms | 256 KB | Output is correct |
4 | Incorrect | 2 ms | 256 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |