Cod sursa(job #2736698)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 3 aprilie 2021 19:43:06
Problema Koba Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int f[1005];
int s[1005];
int n, a, b, c, d, pas;
int sol, cat, rest;

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;
    pas=4;
    while(f[a*100 + b*10 + c] == 0){
        f[a*100 + b*10 + c]=pas-3;
        d=(a*b+c)%10;
        a=b;
        b=c;
        c=d;
        s[pas]=s[pas-1] + c;
        pas++;
    }
    pas-=4;

    if(n <= pas)
        fout<<s[n];
    else{
        ///de la 1 la f[d]-1 e normal
        ///de la f[d] la pas este bucla
        d=a*100 + b*10 + c;

        n  -= (f[d]-1);
        cat = n / (pas-f[d]+1);
        rest= n % (pas-f[d]+1);
        sol=s[f[d]-1] + cat * (s[pas] - s[f[d]-1]) + (s[f[d]-1+rest] - s[f[d]-1]);
        fout<<sol;
    }
    return 0;
}