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 <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define fir first
#define sec second
typedef long long ll;
using namespace std;
int n;
int arr[1005] = {0};
bool check(int x,int d)
{
while(x>0)
{
if(x%10==d) return true;
x/=10;
}
return false;
}
bool tryposs(int curr)
{
for(int i=0;i<n;i++)
{
if(check(curr+i,arr[i])==false) return false;
}
return true;
}
void dosub3()
{
string ans = "";
int len = 0;
if(1<=arr[0] && arr[0]<=8)
{
n--;
while(n>0)
{
n/=10;
len++;
}
char c = arr[0]+'0';
ans += c;
for(int i=1;i<=len;i++) ans += '0';
}
if(arr[0]==0)
{
ll pow = 1;
while(true)
{
if(n>pow)
{
n -= pow;
pow *= 10;
len++;
}
else break;
}
ans += "10";
for(int i=1;i<=len;i++) ans += '0';
}
if(arr[0]==9)
{
ll pow = 1;
while(true)
{
if(n>pow)
{
n -= pow;
pow *= 10;
len++;
}
else break;
}
char c = '8';
for(int i=1;i<=len;i++) ans += c;
ans += '9';
}
cout << ans << endl;
return;
}
void solve()
{
cin >> n;
for(int i=0;i<n;i++) cin >> arr[i];
bool sub3 = true;
for(int i=0;i<n;i++)
{
if(arr[i]!=arr[0]) sub3 = false;
}
if(sub3 && arr[0]!=0)
{
dosub3();
return;
}
int i = 1;
while(true)
{
if(tryposs(i))
{
cout << i << endl;
return;
}
i++;
}
return;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int tc=1;
//cin>>tc;
for(int i=1;i<=tc;i++) solve();
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... |