Pagini recente » Cod sursa (job #2573989) | Istoria paginii runda/trainingts_bf | Istoria paginii runda/0987654321/clasament | Istoria paginii runda/cls11_10febr | Cod sursa (job #779745)
Cod sursa(job #779745)
#include<stdio.h>
FILE *f = fopen("koba.in","r");
FILE *g = fopen("koba.out","w");
#define MaxT 1100
int N,T1,T2,T3,Sol;
int A[MaxT],Best[MaxT];
void citire(void)
{
fscanf(f,"%d %d %d %d\n",&N,&T1,&T2,&T3);
}
void Rezolvare(void)
{
int aux,i,nr;
T1 %= 10; T2 %= 10; T3 %= 10;
Sol += T1 + T2 + T3;
for(i=4;i<=N;i++)
{
aux = (T3 + T2*T1)%10,T1 = T2,T2 = T3,T3 = aux,Sol += aux;
nr = T1*100+T2*10+T3;
if(A[nr])
break;
Best[nr] = Sol;
A[nr] = i;
}
N -= i;
Sol += (N/(i-A[nr]))*(Sol-Best[nr]);
N %= (i-A[nr]);
for(i=1;i<=N;i++)
aux = (T3 + T2*T1)%10,T1 = T2,T2 = T3,T3 = aux,Sol += aux;
}
int main()
{
citire();
Rezolvare();
fprintf(g,"%d\n",Sol);
}