Cod sursa(job #1649737)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 11 martie 2016 14:52:29
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <cstdio>
#define MAXCIF 9
#define MAXN 1000
int vf[MAXCIF+1][MAXCIF+1][MAXCIF+1],v[2*MAXN];
int main(){
    FILE*fi,*fout;
    int i,n,j,s,x,l,j1;
    fi=fopen("koba.in" ,"r");
    fout=fopen("koba.out" ,"w");
    fscanf(fi,"%d%d%d%d" ,&n,&v[1],&v[2],&v[3]);
    i=1;
    v[1]%=10;
    v[2]%=10;
    v[3]%=10;
    s=v[1]+v[2]+v[3];
    while(vf[v[i]][v[i+1]][v[i+2]]==0&&i<=n){
        vf[v[i]][v[i+1]][v[i+2]]=i;
        v[i+3]=(v[i+2]+v[i+1]*v[i])%10;
        s=s+v[i+3];
        i++;
    }
    if(i>n)
          fprintf(fout,"%d" ,s);
    else{
          s=0;
          for(j=1;j<vf[v[i]][v[i+1]][v[i+2]];j++)
             s=s+v[j];
          n=n-j+1;
          x=l=0;
          j1=j;
          while(j<i){
                x=x+v[j];
                j++;
                l++;
          }
          s=s+(n/l)*x;
          n=n%l;
          while(n>0){
             s=s+v[j1];
             j1++;
             n--;
          }
          fprintf(fout,"%d" ,s);
    }
    fclose(fi);
    fclose(fout);
    return 0;
}