Cod sursa(job #763929)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 3 iulie 2012 15:41:03
Problema Curcubeu Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<stdio.h>
#include<fstream>
using namespace std;
ifstream f("curcubeu.in");
FILE *g = fopen("curcubeu.out","w");
#define MaxN 1000100
int N,A[MaxN],B[MaxN],C[MaxN],MIN,MAX,D[MaxN],cul[MaxN];
int main()
   {
     f >> N >> A[1] >> B[1] >> C[1];
     for(int i=2;i<N;i++)
         {
        A[i] = (1LL*A[i-1]*i)%N;
           B[i] = (1LL*B[i-1]*i)%N;
            C[i] = (1LL*C[i-1]*i)%N;
              if(A[i] > B[i]) { int aux = A[i]; A[i] = B[i] ; B[i] = aux; }
            }
            for(int i=N-1;i;i--)
     {
             for(int j=A[i];j<=B[i];)
                   if(!cul[j])
                     {
                      cul[j] = C[i];
                       D[j] = B[i]+1;
                         j ++;
                        }
                  else
                   j = D[j];
                           }
                for(int i=1;i<N;i++)
                               fprintf(g,"%d\n",cul[i]);
  return 0;  
}