Cod sursa(job #138560)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 18 februarie 2008 20:39:10
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
long n,t1,t2,t3,i,abc,c[1000],a[1000],s,t4,sum,m,j;
int main()
{
 freopen("koba.in","r",stdin);
 freopen("koba.out","w",stdout);
 scanf("%ld%ld%ld%ld",&n,&t1,&t2,&t3);
 t1%=10;
 t2%=10;
 t3%=10;
 i=3;
 abc=t1*100+t2*10+t3;
 c[1]=t1;
 c[2]=t2;
 c[3]=t3;
 s=t1+t2+t3;
 while(a[abc]==0&&i!=n)
  {++i;
   t4=(t3+t2*t1)%10;
   s=s+t4;
   c[i]=t4;
   a[abc]=i;
   t1=t2;
   t2=t3;
   t3=t4;
   abc=t1*100+t2*10+t3;
  }
 if(a[abc]>0)
   {j=i+1;
    sum=0;
    for(i=a[abc];i<=j;++i) sum+=c[i];
    m=j-a[abc];
    n-=(j-1);
    s+=((long)(n/m))*sum;
    for(i=1;i<=n%m;++i) s+=c[i+a[abc]-1];
   }
 printf("%ld",s);
 return 0;
}