Cod sursa(job #1222005)

Utilizator thewildnathNathan Wildenberg thewildnath Data 21 august 2014 21:09:04
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>

#define BMAX 1002

int n;
int t[BMAX], poz[BMAX], sum[BMAX];

int main()
{
    freopen("koba.in","r",stdin);
    freopen("koba.out","w",stdout);

    int i=4, aux, nr, s;

    scanf("%d%d%d%d", &n, &t[1], &t[2], &t[3]);

    t[1]%=10; t[2]%=10; t[3]%=10;
    sum[1]=t[1]; sum[2]=sum[1]+t[2]; sum[3]=sum[2]+t[3];

    aux=100*t[1]+10*t[2]+t[3];
    poz[aux]=3;

    for(i=4;; ++i)
    {
        t[i]=(t[i-1]+t[i-2]*t[i-3])%10;
        sum[i]=sum[i-1]+t[i];

        aux=100*t[i-2]+10*t[i-1]+t[i];

        if(!poz[aux])
            poz[aux]=i;
        else
        {
            nr=poz[aux];
            break;
        }
    }
    if(n<i)
        s=sum[n];
    else
    {
        n-=nr;
        s=sum[nr];
        s+=(sum[i]- sum[nr])*(n/(i-nr));
        s+=sum[nr+n%(i-nr)]-sum[nr];
    }

    printf("%d\n",s);

    return 0;
}