Cod sursa(job #1642742)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 9 martie 2016 15:57:21
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
# include <fstream>
# define DIM 1010
using namespace std;
ifstream fin("koba.in");
ofstream fout("koba.out");
int val,t1,t2,t3,s[3000000],n,f[1010],i,ok,c,ac;
long long sol,cv;
int main () {
    fin>>n>>t1>>t2>>t3;
    t3%=10;
    t2%=10;
    t1%=10;
    s[1]=t1;
    s[2]=s[1]+t2;
    s[3]=s[2]+t3;
    f[t1*100+t2*10+t3]=3;
    ok=1;
    for(i=4;ok;i++){
        val=(t1*t2+t3)%10;
        t1=t2;
        t2=t3;
        t3=val;
        if(f[t1*100+t2*10+t3]==0)
            f[t1*100+t2*10+t3]=i;
        else
            ok=0;
        s[i]=s[i-1]+val;
    }
    c=i-f[t1*100+t2*10+t3]-1;
    sol+=s[f[t1*100+t2*10+t3]-3];
    n-=f[t1*100+t2*10+t3]-3;
    cv=s[i-4]-s[f[t1*100+t2*10+t3]-3];
    sol+=(n/c)*cv;
    ac=f[t1*100+t2*10+t3]-3;
    sol+=s[(n%c)+ac]-s[ac];
    fout<<sol<<"\n";
    return 0;
}