Pagini recente » Cod sursa (job #1796862) | Cod sursa (job #54600) | Cod sursa (job #2660579) | Cod sursa (job #570888) | Cod sursa (job #419051)
Cod sursa(job #419051)
#include <cstdio>
#define file_in "koba.in"
#define file_out "koba.out"
int n,t1,t2,t3,i,s,r,j,poz1,poz2,t11,t22,t33,r1,r2,r3,r11,r22,r33,v[10000],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<=n/4;++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;
}
nr=n/4;
poz1=0;
for (i=1;i<=nr && !poz1;++i)
{
r1=v[i];
r2=v[i+1];
r3=v[i+2];
for (j=i+3;j<=nr && !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--;
suma=0;
s=0;
for (i=1;i<=poz1-1;++i)
suma+=v[i];
for (i=poz1;i<=poz2;++i)
s+=v[i];
//printf("%d\n", suma);
//printf("%d\n", s);
int x=(n-poz1+1)%(poz2-poz1+1);
//printf("%d\n", x);
//int q=(n-poz1+1)/(poz2-poz1+1);
//printf("%d\n", q);
int ss=(s*((n-poz1+1)/(poz2-poz1+1)));
//printf("%d\n", ss);
s=0;
suma+=ss;
for (i=poz1;i<=poz1+x-1;++i)
s+=v[i];
suma+=s;
/*for (i=1;i<=n;++i)
printf("%d\n", v[i]);*/
//printf("%d %d", poz1,poz2);
printf("%d", suma);
fclose(stdin);
fclose(stdout);
return 0;
}