Cod sursa(job #143948)

Utilizator eugen.nodeaEugen Nodea eugen.nodea Data 26 februarie 2008 23:01:57
Problema Koba Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.31 kb
var
	f:text;
	M,N,i,S,St:LongInt;
	x,T1,T2,T3,T:longint;
        a,b,c:0..9;
        V:array[0..1000000] of byte;
Begin
	assign(f,'koba.in'); reset(f);
	Readln(f,N,T1,T2,T3);
	close(f);
        a:=T1 Mod 10;
        b:=T2 Mod 10;
        c:=T3 Mod 10;
        S:=a+b+c;
        x:=a*100+b*10+c;
        i:=3;
        while (V[x]=0) and (i<=N) do
        begin
             V[x]:=1;
             i:=i+1;
             T:=(c+b*a) Mod 10;
             S:=S+T Mod 10;
             a:=b; b:=c; c:=T;
             x:=a*100+b*10+c;
        end;
        St:=0;
        while (V[x]<=1) and (i<N) do
        begin
             V[x]:=1;
             i:=i+1;
             T:=(c+b*a) Mod 10;
             S:=S+T Mod 10;
             St:=St+T Mod 10;
             a:=b;
             b:=c;
             c:=T;
             x:=a*100+b*10+c;
        end;
        if i<=N then
        begin
             N:=N-i;
             M:=i-V[x]+1;
             S:=S+(N Div M)*St;
             for i:=1 to N Mod M do
                 begin
                      T:=(c+b*a) Mod 10;
                      S:=S+T Mod 10;
                      x:=a*100+b*10+c;
                      a:=b; b:=c; c:=T;
                 end;
        end;
        assign(f,'koba.out'); rewrite(f);
        writeln(f,S);
        close(f);
End.