Cod sursa(job #763927)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 3 iulie 2012 15:36:28
Problema Curcubeu Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<cstdio>
//#include<algorithm>
using namespace std;
int e[1000001],d[1000001],a[1000001], b[1000001], c[1000001];
int main(void){
    freopen("curcubeu.in","r",stdin);
    freopen("curcubeu.out","w",stdout);
       int n,i,j,aux;
     scanf("%d%d%d%d",&n ,&a[1],&b[1],&c[1]);
      for (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]){aux=a[i]; a[i]=b[i]; b[i]=aux;}
          }
      for (i=n-1; i>0; --i){
       for  (j=a[i]; j<=b[i];)
            if (e[j]==0) {e[j]=c[i]; d[j]=b[i]+1; ++j; }
            else j=d[j];
            }
      for (i=1; i<n; ++i) printf("%d\n",e[i]);
    return(0);
}