Cod sursa(job #2437716)

Utilizator rd211Dinucu David rd211 Data 10 iulie 2019 03:19:38
Problema Curcubeu Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
const int NMAX = 1000010;
int pos[NMAX],cul[NMAX];
bool viz[NMAX];
int a[NMAX],b[NMAX],c[NMAX];
int main()
{
    int n;
    fin>>n>>a[1]>>b[1]>>c[1];
    for(int i = 2;i<n;i++)
    {
        a[i]=(a[i-1]*i)%n;
        b[i]=(b[i-1]*i)%n;
        c[i]=(c[i-1]*i)%n;
    }
    for(int i =n-1;i>=1;i--)
    {
        int l = min(a[i],b[i]);
        int r = max(a[i],b[i]);
        for(int j = l;j<=r;j++)
        {
            if(viz[j])
                j=pos[j]-1;
            else
            {
                viz[j]=true;
                cul[j]=c[i];
                pos[j]=r+1;
            }
        }
    }
    for(int i = 1;i<=n-1;i++)
        fout<<cul[i]<<'\n';
    return 0;
}