Cod sursa(job #1646105)

Utilizator ASTELOTudor Enescu ASTELO Data 10 martie 2016 15:05:21
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<cstdio>
int x,y,z,n,v[1010],a[11][11][11],i,cate,pam,sum,pp,poz;
int main ()
{
freopen("koba.in","r",stdin);
freopen("koba.out","w",stdout);
scanf("%d%d%d%d",&n,&x,&y,&z);
v[1]=x%10;
v[2]=y%10;
v[3]=z%10;
a[v[1]][v[2]][v[3]]=1;
cate=3;
while(pp==0)
    {
    cate++;
    v[cate]=(v[cate-1]+v[cate-2]*v[cate-3])%10;
    if(a[v[cate-2]][v[cate-1]][v[cate]]==0)
        a[v[cate-2]][v[cate-1]][v[cate]]=cate-2;
    else
        {
        pam=cate-2-a[v[cate-2]][v[cate-1]][v[cate]];
        poz=a[v[cate-2]][v[cate-1]][v[cate]];
        break;
        }
    }
for(i=poz;i<=poz+pam-1;i++)
    sum+=v[i];
int sum1=0;
if(n<poz)
    {
    for(i=1;i<=n;i++)
        sum1+=v[i];
    printf("%d",sum1);
    }
else
    {
    for(i=1;i<poz;i++)
        sum1+=v[i];
    n-=poz;
    n++;
    int k=n/pam;
    sum1+=sum*k;
    n-=pam*k;
    for(i=poz;i<=poz+n-1;i++)
        sum1+=v[i];
    printf("%d",sum1);
    }
return 0;
}