Cod sursa(job #419062)
#include <cstdio>
#define file_in "koba.in"
#define file_out "koba.out"
#define Max 100
int n,t1,t2,t3,i,s,r,j,poz1,poz2,t11,t22,t33,r1,r2,r3,r11,r22,r33,v[1000000],nr,suma;
int main()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d %d %d", &n, &t1, &t2, &t3);
s=t1%10+t2%10+t3%10;
v[1]=t1;
v[2]=t2;
v[3]=t3;
nr=3;
for (i=4;i<=Max;++i)
{
int ok=1;
r1=(t1%10)*(t2%10)+(t3%10);
//printf("%d\n", r1);
v[++nr]=r1;
s+=r1%10;
t1=t2%10;
t2=t3%10;
t3=r1%10;
}
poz1=0;
for (i=1;i<=Max && !poz1;++i)
{
r1=v[i];
r2=v[i+1];
r3=v[i+2];
for (j=i+3;j<=Max && !poz1;++j)
{
r11=v[j];
r22=v[j+1];
r33=v[j+2];
if (r1==r11 && r2==r22 && r3==r33)
{
poz1=i;
poz2=j;
}
}
}
//poz2--;
int rep=Max-poz2;
suma=0;
for (i=Max-rep+1;i<=Max;++i)
suma+=+v[i];
n=n-Max;
int imp=n/rep;
s+=imp*suma;
n-=imp*rep;
for (i=1;i<=n;++i)
s+=v[Max-rep+i-2];
printf("%d\n", suma);
fclose(stdin);
fclose(stdout);
return 0;
}