Cod sursa(job #2106154)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 15 ianuarie 2018 09:50:43
Problema Curcubeu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <cstdio>
#include <iostream>
#define DIM 1000001
using namespace std;
int a[DIM],b[DIM],c[DIM],v[DIM],w[DIM];
int main()
{
    FILE *fin=fopen ("curcubeu.in","r");
    FILE *fout=fopen ("curcubeu.out","w");
    int n,i,j,p,u;
    fscanf (fin,"%d%d%d%d",&n,&a[1],&b[1],&c[1]);
    for (i=2;i<n;i++){
        a[i]=((long long) a[i-1] * i)%n;
        b[i]=((long long) b[i-1] * i)%n;
        c[i]=((long long) c[i-1] * i)%n;
    }
    for (i=1;i<n;i++)
        w[i]=i;
    for (i=n-1;i>0;i--){
        p=min(a[i],b[i]);
        u=max(a[i],b[i]);
        for (j=p;j<=u;){
            if (v[j]!=0)
                j=w[j];
            else {
                v[j]=c[i];
                w[j]=b[i]+1;
                j++;
            }
        }
    }
    for (i=1;i<n;i++)
        fprintf (fout,"%d\n",v[i]);
    return 0;
}