#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll calc(vector<int> arr, int ok){
ll ret = 102345678900000L;
if(arr.size() > 1){
for(int d = 0;d<9+ok;++d){
int y = d, cur = 0; bool zero = false;
vector<int> B;
for(int i = 0;i<arr.size();++i){
int x = arr[i];
cur |= (x&(1023-(1<<y)));
if(x & 1 && y == 0) zero = true;
y = (y+1)%10;
if(!y || i == arr.size()-1){
B.push_back(cur);
cur = 0;
}
}
ll val = calc(B,(arr.size() >= 3 || d < 9))*10+d;
if(!val && zero) val = 10;
ret = min(ret,val);
}
return ret;
}
else{
ret = 0;
for(int i = 1;i<=9;++i){
if(arr[0]&(1<<i)){
ret = (ret*10)+i;
if(ret == i && arr[0]&1) ret *= 10;
}
}
if(ret == 0 && arr[0]&1) ret = 10;
return ret;
}
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int K; cin >> K;
vector<int> arr;
for(int i = 0;i<K;++i){
int b; cin >> b;
arr.push_back((1<<b));
}
cout << calc(arr,1) << "\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |