Cod sursa(job #3361104)

Utilizator RobertIon013Ion Robert Andrei RobertIon013 Data 20 iulie 2026 15:04:23
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
long long s[1000001];
long long culoare[1000001];
int n,a,b,c,st,dr,poz;
int gasire(int x)
{
    if(s[x]==x)return x;
    return s[x]=gasire(s[x]);
}
int main()
{
    fin>>n>>a>>b>>c;
    for(int i=1;i<=n;i++)
    {
        s[i]=i;
    }
    for(int i=n-1;i>=1;i--)
    {
        a=(1LL*a*i)%n;
        b=(1LL*b*i)%n;
        c=(1LL*c*i)%n;
        st=min(a,b);
        dr=max(a,b);
        st=max(st,1);
        dr=min(dr,n-1);
        poz=gasire(st);
        while(poz<=dr)
        {
            culoare[poz]=c;
            s[poz]=poz+1;
            poz=gasire(poz);
        }
    }
    for(int i=1;i<=n-1;i++)fout<<culoare[i]<<'\n';

    return 0;
}