Cod sursa(job #2979786)

Utilizator rares89_Dumitriu Rares rares89_ Data 15 februarie 2023 21:14:27
Problema Koba Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <iostream>

using namespace std;

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

int n, t1, t2, t3, t, m, f[1005], s[1005];

int main() {
    fin >> n >> t1 >> t2 >> t3;
    t1 %= 10, t2 %= 10, t3 %= 10;
    s[1] = t1, s[2] = t1 + t2, s[3] = t1 + t2 + t3;
    m = 4;
    while(f[t1 * 100 + t2 * 10 + t3] == 0) {
        f[t1 * 100 + t2 * 10 + t3] = m - 3;
        t = (t1 * t2 + t3) % 10;
        t1 = t2;
        t2 = t3;
        t3 = t;
        s[m] = s[m - 1] + t;
        m++;
    }
    m -= 4;
    if(n <= m) {
        fout << s[n];
    } else {
        t = t1 * 100 + t2 * 10 + t3;
        n -= (f[t] - 1);
        int c = n / (m - f[t] + 1);
        int r = n % (m - f[t] + 1);
        fout << ( s[f[t] - 1] + c * (s[m] - s[f[t] - 1]) + (s[f[t] - 1 + r] - s[f[t] - 1]) );
    }
    return 0;
}