Cod sursa(job #1620970)

Utilizator ade_tomiEnache Adelina ade_tomi Data 29 februarie 2016 14:45:01
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<iostream>
#include<fstream>
#define maxn 1000003
using namespace std;
int a[maxn],b[maxn],c[maxn],i,j,n,m,l,r,sol[maxn],nexxt[maxn];
int main()
{

    ifstream cin("curcubeu.in");
    ofstream cout("curcubeu.out");
    cin>>n>>a[1]>>b[1]>>c[1];
    for(i=2;i<=n-1;i++)
    {

        a[i]=(a[i-1]*i)%n;
        b[i]=(b[i-1]*i)%n;
        c[i]=(c[i-1]*i)%n;

    }

    for(i=n-1;i>=1;i--)
    {
        l=min(a[i],b[i]);
        r=max(a[i],b[i]);
        j=l;
        while(j<=r)
        {

            if(sol[j]!=0){
                j=nexxt[j];


            }
            else
            {
                sol[j]=c[i];
                nexxt[j]=r+1;
                j++;

            }
        }

    }
    for(i=1;i<=n-1;i++)
        cout<<sol[i]<<"\n";
    return 0;

}