Cod sursa(job #2567745)

Utilizator serafimalex2001Serafim Alex serafimalex2001 Data 3 martie 2020 18:40:16
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int NMAX = 1000009;

int v[NMAX];
int N,a[NMAX],b[NMAX],c[NMAX];
int jump[NMAX];
int ct;
int color[NMAX];

void Read()
{
    fin>>N>>a[1]>>b[1]>>c[1];
    for(int i = 2; i<N; ++i)
    {
        a[i] = (1LL*a[i-1]*i)%N;
        b[i] = (1LL*b[i-1]*i)%N;
        c[i] = (1LL*c[i-1]*i)%N;
    }
}

void Do()
{
    int lf, rg, idx ,i ,j;
    for(i = N-1; i>=1; --i)
    {
        lf = min(a[i],b[i]);
        rg = max(a[i],b[i]);
        idx = c[i];
        for(j = lf; j<=rg; ++j)
        {
            if(v[j] == 0)
            {
                v[j] = i;
            }
            else
            {
                j = jump[v[j]] + 1;
            }
        }
        jump[i] = rg;
    }
    for( i=1; i<N; ++i)
        fout<<c[v[i]]<<"\n";

}

int main()
{
    Read();
    Do();
    return 0;
}