Cod sursa(job #516588)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 24 decembrie 2010 22:01:35
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

int t[2010],i,j,r,l,n,s;

int main()
{
    freopen("koba.in","r",stdin);
    freopen("koba.out","w",stdout);
    scanf("%d%d%d%d",&n,&t[1],&t[2],&t[3]);
    i=3;t[1]%=10;t[2]%=10;t[3]%=10;
    while (!l&&(i<n))
    {
        ++i;
        t[i]=(t[i-1]+t[i-3]*t[i-2])%10;
        for (j=3;j<=i-1;++j)
            if ((t[j]==t[i])&&(t[j-1]==t[i-1])&&(t[j-2]==t[i-2]))
                l=j;
    }
    if (i==n)
    {
        for (i=1;i<=n;++i) s+=t[i];
        printf("%d",s);
        return 0;
    }
    r=i;
    for (i=1;i<=l;++i) s+=t[i];
    for (i=l+1;i<=r;++i) s+=((n-l)/(r-l))*t[i];
    n=(n-l)%(r-l);
    for (i=l+1;i<=n+l;++i)
    {
        s+=t[i];
    }
    printf("%d",s);
    return 0;
}