Cod sursa(job #2619563)

Utilizator levladiatorDragutoiu Vlad-Ioan levladiator Data 27 mai 2020 23:14:58
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#include<stdio.h>
#define NMAX 1000001
using namespace std;

ifstream in("curcubeu.in");
FILE *g = fopen("curcubeu.out", "w");

int N, A[NMAX], B[NMAX], C[NMAX], next[NMAX], cul[NMAX];

int main()
{
	int i,j,Aux;

	in >> N >> A[1] >> B[1] >> C[1];

	for(i = 2; i <= N-1; i++)
	{
		A[i] = (1LL*i*A[i-1])%N;
		B[i] = (1LL*i*B[i-1])%N;
		if(A[i] > B[i])
		{
			Aux = A[i];
			A[i] = B[i];
			B[i] = Aux;
		}
		C[i] = (1LL*i*C[i-1])%N;
	}

	for(i = N-1; i > 0; --i)
		for(j = A[i]; j <=B[i]; )
			if(!cul[j])
			{
				cul[j] = C[i];
				next[j] = B[i] + 1;
				++j;
			}
			else j = next[j];

			for(i = 1; i < N; i++)
				fprintf(g,"%d\n", cul[i]);
}