Cod sursa(job #1068978)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 29 decembrie 2013 01:35:24
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<cstdio>
int n,t1,t2,t3,t4,i,ok,v[10001],k,m,j;
long long s,s1,s2;
FILE *f,*g;
int main(){
    f=fopen("koba.in","r");
    g=fopen("koba.out","w");
    fscanf(f,"%d%d%d%d",&n,&t1,&t2,&t3);
    t1%=10;
    t2%=10;
    t3%=10;
    s=t1+t2+t3;
    v[t1*100+t2*10+t3]=3;
    ok=0;
    for(i=4;i<=n;i++){
        t4=t3+t1*t2;
        t1=t2%10;
        t2=t3%10;
        t3=t4%10;
        s+=t3;
        if(v[t1*100+t2*10+t3]!=0){
            ok=1;
            break;
        }
        else
            v[t1*100+t2*10+t3]=i;
    }
    if(ok==1){
        n-=i;
        k=v[t1*100+t2*10+t3]+1;
        m=i-k+1;
        for(j=k;j<=i;j++){
            t4=t3+t1*t2;
            s1+=t4%10;
            t1=t2%10;
            t2=t3%10;
            t3=t4%10;
            if(j-k+1<=n%m)
                s2+=t3;
        }
        s+=(n/m)*s1;
        s+=s2;
    }
    fprintf(g,"%d",s);
    fclose(f);
    fclose(g);
    return 0;
}