Cod sursa(job #137775)

Utilizator CezarMocanCezar Mocan CezarMocan Data 17 februarie 2008 14:42:23
Problema Koba Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.14 kb
var i,j,n,t1,t2,t3,t,s,p,np,sum,sp,poz,nr:longint;
    v:array[0..11,0..11,0..11] of longint;
    x:array[1..5000] of longint;
    ok:boolean;

begin
assign(input,'koba.in');reset(input);
assign(output,'koba.out');rewrite(output);
readln(n,t1,t2,t3);
x[1]:=t1 mod 10;x[2]:=t2 mod 10;x[3]:=t3 mod 10;
v[x[1],x[2],x[3]]:=1;
ok:=false;
for i:=4 to n do
        begin
        x[i]:=(x[i-1]+x[i-2]*x[i-3]) mod 10;
        if v[x[i-2],x[i-1],x[i]]=0 then
                v[x[i-2],x[i-1],x[i]]:=i-2
        else
                begin
                ok:=true;
                poz:=i;
                break;
                end;
        end;
if ok then
        begin
        nr:=i-3;
        np:=v[x[i-2],x[i-1],x[i]]-1;
        n:=n-np;
        for i:=1 to np do
                sum:=sum+x[i];
        p:=nr-np;
        for i:=np+1 to nr do
                sp:=sp+x[i];
        sum:=sum+(n div p)*sp;
        n:=n mod p;
        for i:=np+1 to np+n do
                sum:=sum+x[i];
        end
else
        begin
        for i:=1 to n do
                sum:=sum+x[i];
        end;
writeln(sum);
close(input);close(output);
end.