Cod sursa(job #2965185)

Utilizator BuzatuCalinBuzatu Calin BuzatuCalin Data 14 ianuarie 2023 17:03:55
Problema Curcubeu Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 1e6 + 10;
int n, A[NMAX], B[NMAX], C[NMAX], urm[NMAX], ans[NMAX];
int main()
{
    ifstream fin("curcubeu.in");
    ofstream fout("curcubeu.out");
    fin >> n >> A[1] >> B[1] >> C[1];
    for (int i = 2; i <= n - 1; i++)
    {
        A[i] = (i * A[i - 1]) % n;
        B[i] = (i * B[i - 1]) % n;
        C[i] = (i * C[i - 1]) % n;
    }
    for (int i = n - 1; i >= 1; i--)
    {
        int st = min(A[i], B[i]), dr = max(A[i], B[i]);
        for (int j = st; j <= dr; j++)
        {
            if (urm[j] != 0)
            {
                j = urm[j];
            }
            else
            {
                urm[j] = dr;
                ans[j] = C[i];
            }
        }
    }
    for (int i = 1; i <= n - 1; i++)
    {
        fout << ans[i] << '\n';
    }
}