Cod sursa(job #2316600)

Utilizator shantih1Alex S Hill shantih1 Data 11 ianuarie 2019 23:30:00
Problema Curcubeu Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <fstream>

#define nmx 1000001

using namespace std;
fstream fin("curcubeu.in");
ofstream fout("curcubeu.out");

int n,a,b,i,j,x;
int r[nmx],t[nmx],A[nmx],B[nmx],C[nmx];

int main() {
	
	fin>>n>>A[1]>>B[1]>>C[1];
	
	if(A[1]>B[1])	swap(A[i],B[i]);
	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])	swap(A[i],B[i]);
	}
	
	for(i=n-1;i;i--)
	{
		a=A[i];	b=B[i];
		while(a<=b)
		{
			if(!r[a])
			{
				r[a]=C[i];
				t[a]=b+1;
				a++;
			}
			else	a=t[a];
		}
	}
	for(i=1;i<n;i++)
		fout<<r[i]<<'\n';
	return 0;
	/*
	 Somnoroase păsărele
	 Pe la cuiburi se adună,
	 Se ascund în rămurele -
	 Noapte bună! 
	 
	 Doar izvoarele suspină, 
	 Pe când codrul negru tace;
	 Dorm şi florile-n grădină -
	 Dormi în pace!
	 
	 Trece lebăda pe ape
	 Între trestii să se culce -
	 Fie-ţi îngerii aproape, 
	 Somnul dulce! 
	 
	 Peste-a nopţii feerie
	 Se ridică mândra lună, 
	 Totu-i vis şi armonie -
	 Noapte bună!
	 */
}