Submission #755204

#TimeUsernameProblemLanguageResultExecution timeMemory
755204AliHasanliSequence (BOI14_sequence)C++17
9 / 100
6 ms596 KiB
#include<bits/stdc++.h>
using namespace std;
bool check_is_number_has(long long n,long long a)
{
    while(n>0)
    {
        if(n%10==a)
            return true;
        n/=10;
    }
    return false;
}
bool check(long long a,int k,long long numberarray[])
{
    for(long long i=a;i<=k+a-1;i++)
        if(!check_is_number_has(i,numberarray[i-a]))
            return false;
    return true;
}
void print(int n,int k)
{
    cout<<n;
    exit(0);
}
int main (){
    int k;
    cin>>k;
    long long a[k];
    long long digits0[19],digits1[19],digits2[19];
    digits0[0]=1;
    digits1[0]=a[0];
    digits2[0]=9;
    for(int i=1;i<19;i++)
        digits0[i]=digits0[i-1]*10;
    for(int i=1;i<19;i++)
        digits1[i]=digits1[i-1]*10;
    for(int i=1;i<19;i++)
        digits2[i]=(digits2[i-1]-1)*10+9;
    bool areequal=true;
    for(int i=0;i<k;i++)
    {
        cin>>a[i];
        if(i>0 && a[i]!=a[i-1])
            areequal=false;
    }
    if(areequal)
    {
        if(a[0]==0)
            for(int i=0;i<=18;i++)
                if(check(digits0[i],k,a))
                    print(digits0[i],k);
        if(a[0]>=1 && a[0]<=8)
            for(int i=0;i<=18;i++)
                if(check(digits1[i],k,a))
                    print(digits1[i],k);
        if(a[0]==9)
            for(int i=0;i<=18;i++)
                if(check(digits2[i],k,a))
                    print(digits2[i],k);
    }
    for(long long i=a[0];i<=1000;i++)
    {
        bool flag=check(i,k,a);
        if(flag)
            print(i,k);
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...