Cod sursa(job #2837029)

Utilizator Luca_CristianZamfir Luca-Cristian Luca_Cristian Data 21 ianuarie 2022 15:47:47
Problema Rsir Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;

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

#define MAXM 7000


int f[MAXM][MAXM];
int v[10000];
int main()
{
    int a, b, x, y, z, m, n, i;

    fin >> v[0] >> v[1] >> a >> b >> x >> y >> z >> m >> n;
    f[v[0]][v[1]] = 1;



    int int_start, int_final;

    i = 2;
    int ok = 0;
    while(ok == 0)
    {
        v[i] = ((a * v[i - 2] * v[i - 2]) % m + (b * v[i - 1] * v[i - 1]) % m + (x * v[i - 2]) % m + (y * v[i - 1]) % m + z) % m;

        if(f[v[i - 1]][v[i]] == 0)
           f[v[i - 1]][v[i]] = i + 1;
        else
        {
            int_start = f[v[i - 1]][v[i]] - 1;
            int_final = i;
            ok = 1;
        }
        i++;
    }

    int ciclu = int_final - int_start;
    fout << v[(n - int_start) % ciclu];

    return 0;
}