# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
107668 | patrikpavic2 | Sequence (BOI14_sequence) | C++17 | 365 ms | 888 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <set>
#include <vector>
#include <queue>
#include <map>
#define X first
#define Y second
#define PB push_back
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair < int, int > pii;
typedef vector < int > vi;
typedef set < int > si;
const int N = 1e5 + 500;
const int M = 1e6 + 500;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const int OFF = (1 << 18);
const int LOG = 20;
const double EPS = 1e-9;
const double PI = 3.1415926535;
int n, x, a[N], tr[N];
ll fin = (ll)INF * INF;
bool inside(int i,int k){
for(;k;k /= 10)
if(k % 10 == i && k != 0) return 1;
return 0;
}
vector < int > v;
int main(){
scanf("%d", &n);
if(n <= 1000){
for(int i = 0;i < n;i++) scanf("%d", a + i);
for(int st = 0;st < 10000;st++){
memset(tr, 0, sizeof(tr));
int bad = 0;
for(int i = 0;i < n;i++){
if(!inside(a[i], st + i)) bad = 1, tr[a[i]] = 1;
}
ll ans = st, pot = 10000LL, lst = -1;
//printf("ANS %lld POT %lld\n", ans, pot);
for(int i = 9;i >= 1;i--){
//printf("%d", tr[i]);
if(tr[i]){
ans += i * pot;
lst = i * pot;
pot *= 10LL;
}
}
//printf("\nST: %d\n", st);
if(tr[0]) {
if(lst != -1)
ans += 9 * lst;
else
ans += 100000LL;
}
//printf("%lld\n", ans);
//char c; scanf("%c", &c);
if(ans) fin = min(fin, ans);
}
printf("%lld\n", fin);
return 0;
}
scanf("%d", &x);
if(x == 0){
int pot = 1;
while(pot - (pot / 10 * 9) - 1 < n){
pot = 10 * pot + 1;
}
printf("%d\n", (pot / 10 * 9) + 1);
return 0;
}
if(x == 9){
int pot = 1, pot2 = 1;
while(pot2 - (pot / 10 * 8) - 1 < n){
pot = 10 * pot + 1;
pot2 = 10 * pot2;
}
printf("%d\n", (pot / 10 * 8) + 1);
return 0;
}
printf("%d", x);
for(int i = 1;i < n;i *= 10) printf("0");
printf("\n");
return 0;
}
Compilation message (stderr)
# | 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... |