Submission #134447

#TimeUsernameProblemLanguageResultExecution timeMemory
134447KastandaSequence (BOI14_sequence)C++11
0 / 100
538 ms856 KiB
// ItnoE #include<bits/stdc++.h> using namespace std; typedef long long ll; inline ll Solve(vector < int > A, bool w, int dp) { int n = (int)A.size(); if (dp > 15) return (-1); if (n == 0) return (!w); if (n == 1) { if (A[0] == 0) return (!w); 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; } if (!rs) rs = 10; return (rs); } ll rs = LLONG_MAX; 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); ll rt = Solve(B, w | (i > 0), dp + 1); if (rt != -1) 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, 0)); }

Compilation message (stderr)

sequence.cpp: In function 'int main()':
sequence.cpp:52:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
sequence.cpp:55:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a), a = 1 << a;
         ~~~~~~~~~~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...