Cod sursa(job #1649751)

Utilizator tgm000Tudor Mocioi tgm000 Data 11 martie 2016 14:56:42
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<cstdio>
int v[10000001];
int main(){
  int n,i,ind,ic,lp,lung,ok,s,sp;
  freopen("koba.in","r",stdin);
  freopen("koba.out","w",stdout);
  scanf("%d%d%d%d",&n,&v[1],&v[2],&v[3]);
  v[1]=v[1]%10;
  v[2]=v[2]%10;
  v[3]=v[3]%10;
  ok=0;
  ind=4;
  while(!ok){
    v[ind]=(v[ind-1]+v[ind-2]*v[ind-3])%10;
    for(i=1;i<=ind-3&&!ok;i++)
      if(v[i]==v[ind-2]&&v[i+1]==v[ind-1]&&v[i+2]==v[ind])
        ok=1;
    ind++;
  }
  ind-=3;
  ic=i;
  lp=ind-ic+1;
  s=0;
  for(i=1;i<ic;i++)
    s+=v[i];
  sp=0;
  for(i=ic;i<=ind;i++)
    sp+=v[i];
  lung=(n-ic+1)%lp;
  for(i=ic;i<=ic+lung-1;i++)
    s+=v[i];
  s+=sp*((n-ic+1)/lp);
  printf("%d",s);
  return 0;
}