Cod sursa(job #1119773)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 24 februarie 2014 19:58:39
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
#define NMAX 1010

using namespace std;

int a, b, c, n, sum[NMAX], fr[NMAX];

ifstream f("koba.in");
ofstream g("koba.out");

void Citeste()
{
    f>>n>>a>>b>>c;
    a%=10; b%=10; c%=10;
}

void Solve()
{
    int i=1, v=0, x=a*100+b*10+c, sol, T;
    sum[0]=a+b+c;
    while (!fr[x])
    {
        v=(c+a*b)%10;
        sum[i]=sum[i-1]+v;
        fr[x]=i; ++i;
        a=b; b=c; c=v;
        x=a*100+b*10+c;
    }
    v=(c+a*b)%10;
    sum[i]=sum[i-1]+v;
    if (i>n) sol=sum[n-3];
    else
    {
        n-=fr[x]+3;
        T=i-fr[x];
        sol=sum[fr[x]];
        sol+=(n/T)*(sum[i]-sum[fr[x]]);
        sol+=sum[n%T+fr[x]]-sum[fr[x]];
    }
    g<<sol<<"\n";
}

int main()
{
    Citeste();
    Solve();
    f.close();
    g.close();
    return 0;
}