Cod sursa(job #2162605)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 12 martie 2018 12:06:45
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream fin ("koba.in");
ofstream fout("koba.out");
long long n,a,b,c, aux, k, f[1010], v[1010],t, sum,i;

int main(){
    fin>>n>>a>>b>>c;
    a%=10;
    b%=10;
    c%=10;
    v[1]=a;
    v[2]=b+a;
    v[3]=a+b+c;
    if (n<4){fout<<v[n];return 0;}
    for (i=4;i<=n;i++)
    {
        aux=(c+a*b)%10;
        a=b;
        b=c;
        c=aux;
        v[i]=c+v[i-1];
        if (f[a*100+b*10+c]==0)
            f[a*100+b*10+c]=i;
        else
            break;
    }
    if (i>n){fout<<v[n];return 0;}
    int p=f[a*100+b*10+c];
    sum=v[p]+1LL*(v[i]-v[p])*((n-p)/(i-p))+1LL*v[p+((n-p)%(i-p))]-v[p];
    fout<<sum;
    fin.close();
    fout.close();
    return 0;
}