Cod sursa(job #2390768)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 28 martie 2019 12:16:06
Problema Koba Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;
ifstream f("koba.in");
ofstream g("koba.out");
long long i,n,a,b,c,d,m[11][11][11][3],s,sp,nrpoz,ai,bi,ci,j;
struct potae{
    long long pd,pb,pc;
}v[1111];

int main()
{
    f>>n>>a>>b>>c;
    a%=10; b%=10; c%=10; s+=a+b+c; n-=3;
    for(i=1;i<=n;i++){
        d=c+a*b; d%=10;
        if(m[b][c][d][1]) break;
        m[b][c][d][1]=s; m[b][c][d][2]=i;
         v[i].pd=d; v[i].pc=c; v[i].pb=b;
         a=b; b=c; c=d;
        s+=d;

    }
    sp=s-m[b][c][d][1]; nrpoz=i-m[b][c][d][2];
    n=n-i;
    s+=n/nrpoz*sp;
    ai=v[m[b][c][d][2]].pb; bi=v[m[b][c][d][2]].pc; ci=v[m[b][c][d][2]].pd; s+=ci;
    for(i=1;i<=n%nrpoz;i++){
        d=ci+ai*bi; d%=10;
        s+=d;
        ai=bi; bi=ci; ci=d;
    }
    g<<s;
    return 0;
}