Cod sursa(job #2415384)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 25 aprilie 2019 21:30:18
Problema Koba Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;

ifstream fin("koba.in");
ofstream fout("koba.out");

long long n,F[1010],s[1010],i,j,a,b,c,aux,sol,p;

int main(){
    fin>>n>>a>>b>>c;
    a%=10; b%=10;  c%=10;
    s[1]=a; s[2]=a+b; s[3]=a+b+c;
    F[a*100+b*10+c]=3;

    for(i=4;i<=n;i++){
        aux=(c+a*b)%10;
        a=b;
        b=c;
        c=aux;

        s[i]=s[i-1]+c;
        if(F[a*100+b*10+c]!=0)
            break;
        else
            F[a*100+b*10+c]=i;
    }

    if(i>n){
        fout<<s[n];
    }else{
        i--;
        p=F[a*100+b*10+c];
        fout<<s[p-1]+((n-p+1)/(i-p+1))*(s[i]-s[p-1])+s[p-1 + (n-p+1)%(i-p+1)]-s[p-1];
    }

    return 0;
}