Cod sursa(job #3361101)

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

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

    return 0;
}