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>
long long a[1000000],an;
void backtracking(long long i,int j)
{
if(j==0)a[an++]=i;
else
{
backtracking(i*10+3,j-1);
backtracking(i*10+5,j-1);
backtracking(i*10+8,j-1);
}
}
char x[1001];
char y[1001];
int main()
{
long long X,Y,before,res=0,j=0;
int i,k,xn,yn;
for(i=1;i<=11;i++)backtracking(0,i);
scanf("%s%s",x,y);
xn=strlen(x);yn=strlen(y);
if(xn==yn)
{
for(i=0;x[i]==y[i]&&i<xn&&i<yn;i++)j=(j*10+x[i]-'0')%19980305;
sscanf(x+i,"%lld",&X);
sscanf(y+i,"%lld",&Y);
for(;i++<xn;)j=j*10%19980305;
}
else
{
sscanf(x,"%lld",&X);
sscanf(y,"%lld",&Y);
}
before=-j;
for(i=0;i<an;i++)
{
if(a[i]>=X&&a[i]<=Y)
{
res+=(j+before)%19980305*(j+a[i])%19980305;
res%=19980305;
before=a[i];
}
}
printf("%lld",res);
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |