Cod sursa(job #658646)

Utilizator maritimCristian Lambru maritim Data 9 ianuarie 2012 11:24:33
Problema Curcubeu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 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,B,C,MIN,MAX,D[MaxN],cul[MaxN];

int main()
{
	f >> N >> A >> B >> C;
	
	for(int i=1;i<N;i++)
	{
		A = (1LL*A*i)%N;
		B = (1LL*B*i)%N;
		C = (1LL*C*i)%N;
		
		MIN = A < B ? A : B;
		MAX = A > B ? A : B;
		
		for(int j=MIN;j<=MAX;)
			if(!cul[j])
			{
				cul[j] = C;
				D[j] = MAX+1;
				j ++;
			}
			else
				j = D[j];
	}
	
	for(int i=1;i<N;i++)
		fprintf(g,"%d\n",cul[i]);
	
	return 0;	
}