Cod sursa(job #2560972)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 28 februarie 2020 13:51:09
Problema Koba Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin  ("koba.in");
ofstream fout ("koba.out");

long long n, a, b, c, d, p, i;
long long f[1010], s[1010];

int main (){
     fin>>n>>a>>b>>c;

     a%=10; b%=10; c%=10;

     s[1]=a; s[2]=a+b; s[3]=a+b+c;

     f[a*100+b*10+c]=3;


     for(i=4; i<=n; i++){
          d=(a*b+c)%10;
          a=b;
          b=c;
          c=d;
          s[i]=s[i-1]+c;

          if(f[a*100+b*10+c] != 0)
               break;
          else
               f[a*100+b*10+c]=i;
     }

     if(i > n)
          fout<<s[n];
     else{
          i--;
          p=f[a*100+b*10+c];
          fout<<s[p-1] + ((n-p+1)/(i-p+1))*(s[i]-s[p-1])+s[p-1 + (n-p+1)%(i-p+1)]-s[p-1];
     }

     return 0;
}