Cod sursa(job #3360203)

Utilizator mmateiMatei Barbu mmatei Data 10 iulie 2026 13:53:44
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

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

int n;

struct rb{
    int color,next;
}v[1000005];

struct query{
    int a,b,c;
}q[1000005];

int main()
{
    fin>>n>>q[1].a>>q[1].b>>q[1].c;
    v[1].color=-1;
    for(int i=2;i<n;i++){
        q[i].a=(q[i-1].a*i)%n;
        q[i].b=(q[i-1].b*i)%n;
        q[i].c=(q[i-1].c*i)%n;
        v[i].color=-1;
        v[i-1].next=i;
    }
    for(int i=n-1;i>=1;i--){
        int st=min(q[i].a,q[i].b),dr=max(q[i].a,q[i].b);
        for(int j=st;j<=dr && j<n;){
            if(v[j].color==-1)v[j].color=q[i].c;
            j=v[j].next;
            v[j].next=dr+1;
        }
        v[st-1].next=max(dr+1,v[st-1].next);
    }
    for(int i=1;i<n;i++)fout<<max(v[i].color,0)<<"\n";
    return 0;
}