Cod sursa(job #2011139)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 15 august 2017 12:16:19
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin ("koba.in");
ofstream fout ("koba.out");
int p[1000], sp[1000], n, a, b, c, pr, st, step = 4;
int main()
{
    fin >> n >> a >> b >> c;
    a %= 10;
    b %= 10;
    c %= 10;
    sp[1] = a;
    sp[2] = a + b;
    sp[3] = a + b + c;
    for(; ;step++) {
        int x = a * 100 + b * 10 + c, d = (c + a * b) % 10;
        sp[step] = sp[step - 1] + d;
        if (!p[x])
            p[x] = step;
        else {
            st = p[x];
            pr = step - p[x];
            break;
        }
        a = b;
        b = c;
        c = d;
    }
    long long sol = 1LL * sp[st] + (n - st) / pr * (sp[st + pr] - sp[st]) + sp[(n - st) % pr + st] - sp[st];
    fout << sol;
}