Cod sursa(job #1620980)

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

    freopen("curcubeu.in","r",stdin);
    freopen("curcubeu.out","w",stdout);
    scanf("%d%d%d%d",&n,&a[1],&b[1],&c[1]);
//    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++)
        printf("%d\n",sol[i]);
    return 0;

}