Cod sursa(job #3331324)

Utilizator boboc132Boboc Teodor boboc132 Data 26 decembrie 2025 18:14:41
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

const int MAX=1000005;
long long T[MAX],sol[MAX];

int get_root(int nod){
    if(T[nod]==nod){
        return nod;
    }
    return T[nod]=get_root(T[nod]);
}   

int main(){
    int n;
    long long Ar,Br,Cr;
    in>>n>>Ar>>Br>>Cr;
    for(int i=1;i<=n;i++){
        T[i]=i;
    }
    for(int i=1;i<n;i++){
        int st=min(Ar,Br)+1;
        int dr=max(Ar,Br)+1;
        for(int j=get_root(st);j<=dr;j=get_root(j)){
            sol[j]=Cr;
            T[j]=get_root(j+1);
        }
        Ar = (Ar * (i + 1)) % n;
        Br = (Br * (i + 1)) % n;
        Cr = (Cr * (i + 1)) % n;    
    }
    for(int i=1;i<n;i++){
        out<<sol[i]<<"\n";
    }
}