Cod sursa(job #1798122)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 4 noiembrie 2016 21:24:58
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#define DIM 1010
using namespace std;
ifstream fin("koba.in");
ofstream fout("koba.out");
int val,t1,t2,t3,s[3<<20],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]) 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;
    return 0;
}