Submission #400014

#TimeUsernameProblemLanguageResultExecution timeMemory
400014lycSequence (BOI14_sequence)C++14
0 / 100
2 ms208 KiB
#include <bits/stdc++.h> using namespace std; #define TRACE(x) cerr << #x << " :: " << x << endl #define _ << " " << #define SZ(x) (int)(x).size() #define ALL(x) (x).begin(),(x).end() #define FOR(i,a,b) for(int i=(a);i<=(b);++i) #define RFOR(i,a,b) for (int i=(a);i>=(b);--i) typedef long long ll; const int mxK = 1e5+5; int K; ll solve(vector<int>& req) { ll ret = 0; if (SZ(req) == 1) { FOR(i,0,9) if (req[0] & (1<<i)) { ret = ret*10 + i; } } else { ret = 1e18; FOR(d,0,9){ vector<int> req2; FOR(i,0,SZ(req)-1){ int cur = req[i] & (~(1<<((i+d)%10))); if (i == 0 || (i+d)/10 != (i-1+d)/10) { req2.push_back(cur); } else { req2.back() |= cur; } } if (req == req2) continue; // corner case ret = min(ret,solve(req2)*10 + d); } } return ret; } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> K; vector<int> req; FOR(i,1,K){ int A; cin >> A; req.push_back(1<<A); } cout << solve(req) << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...