Cod sursa(job #1736104)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 1 august 2016 00:46:34
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
int a,b,c,sum[1005],nr[1005],n,per=4,sumt=0;
int find_period(int a,int b,int c)
{
    for(;;++per)
    {
        int d=c+b*a;
        d%=10;
        a=b;
        b=c;
        c=d;
        int v=c*100+b*10+a;
        sum[per]=sum[per-1]+d;
        if(nr[v]!=0)
        {
            n-=(nr[v]-3);
            sumt+=sum[nr[v]-3];
            sumt+=(sum[per-3]-sum[nr[v]-3])*(n/(per-nr[v]));
            n%=(per-nr[v]);
            sumt+=sum[nr[v]-3+n]-sum[nr[v]-3];
            return sumt;
        }
        nr[v]=per;
    }
}
int main()
{
    freopen ("koba.in","r",stdin);
    freopen ("koba.out","w",stdout);
    scanf("%d%d%d%d",&n,&a,&b,&c);
    a%=10;
    b%=10;
    c%=10;
    nr[c*100+b*10+a]=3;
    sum[1]=a,sum[2]=a+b,sum[3]=a+b+c;
    printf("%d\n",find_period(a,b,c));
}