Cod sursa(job #2942404)

Utilizator TraianQTraianQ TraianQ Data 19 noiembrie 2022 17:23:12
Problema Curcubeu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
using namespace std;
const int MaxN = 1000005;
int A[MaxN],B[MaxN],C[MaxN],nexxt[MaxN],ans[MaxN];
int main()
{
    ifstream cin("curcubeu.in");
    ofstream cout("curcubeu.out");
    int n;
    cin>>n>>A[1]>>B[1]>>C[1];
    for(int i=2;i<=n;i++)
    {
        A[i]=(1ULL*A[i-1]*i)%n;
        B[i]=(1ULL*B[i-1]*i)%n;
        C[i]=(1ULL*C[i-1]*i)%n;
    }
    for(int i=n;i>=1;i--)
    {
        int st=min(A[i],B[i]),dr=max(A[i],B[i]);
        for(int j=st;j<=dr;)
            if(nexxt[j]==0)
            {
                nexxt[j]=dr+1;
                ans[j]=C[i];
                j++;
            }
            else
                j=nexxt[j];
    }
    for(int i=1;i<n;i++)
        cout<<ans[i]<<"\n";
    return 0;
}