Pagini recente » Cod sursa (job #2259516) | Cod sursa (job #1941011) | Cod sursa (job #2675182) | Cod sursa (job #2598425) | Cod sursa (job #419101)
Cod sursa(job #419101)
#include <cstdio>
#define file_in "koba.in"
#define file_out "koba.out"
#define Max 100
int s2,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);
int find=0;
if (t3<t1 && t3<t2)
find=t1%10+t2%10+t3%10;
//printf("%d\n", find);
t1%=10;
t2%=10;
t3%=10;
s=t1+t2+t3;
v[1]=t1;
v[2]=t2;
v[3]=t3;
nr=3;
s2+=s;
for (i=4;i<=Max;++i)
{
int ok=1;
r1=(t1*t2+t3)%10;
r=(t1%10)*(t2%10)+(t3%10);
//printf("%d\n", r1);
v[i]=r1;
s+=r1;
s2+=r%10;
t1=t2;
t2=t3;
t3=r1;
}
//printf("%d\n", s2);
/* poz1=0;
for (i=Max;i>=1 && !poz1;--i)
{
r1=v[i];
r2=v[i-1];
r3=v[i-2];
for (j=Max;j>=3 && !poz1;--j)
{
r11=v[j];
r22=v[j-1];
r33=v[j-2];
if (r1==r11 && r2==r22 && r3==r33)
{
poz1=i;
poz2=j;
}
}
}*/
r1=v[Max];
r2=v[Max-1];
r3=v[Max-2];
for (j=Max-1;j>=3 && !poz2;--j)
{
r11=v[j];
r22=v[j-1];
r33=v[j-2];
if (r1==r11 && r2==r22 && r3==r33)
{
poz2=j;
//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;
//if (n%rep==0)
imp=n/rep;
//else
//imp=n/rep-1;
s+=imp*suma;
n-=imp*rep;
for (i=1;i<=n;++i)
s+=v[Max-rep+i-2];
if (find!=0)
printf("%d\n", s+find/2);
else
printf("%d\n", s);
fclose(stdin);
fclose(stdout);
return 0;
}