Cod sursa(job #896119)

Utilizator DanutsDanut Rusu Danuts Data 27 februarie 2013 13:54:30
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>
#define maxn 1000000
#include<iostream>
using namespace std;
int a,b,c,n,i,j;
struct vec{int x,y,rez;}v[maxn];
int t[maxn];
void afis(){
	for(int i=1;i<n;i++)
		printf("%d\n",t[i]);
}
void solve(){
	for(int i=2;i<n;++i){
		a=(a%n*i%n)%n;
		b=(b%n*i%n)%n;
		c=(c%n*i%n)%n;
		v[i].x=min(a,b);
		v[i].y=max(a,b);
		v[i].rez=c;
		t[i]=-1;
	}
	for(int i=n-1;i>=1;--i)
		for(int j=v[i].x;j<=v[i].y;j++)
			if(t[j]==-1)
				t[j]=v[i].rez;
}

int main(){
    freopen("curcubeu.in","r",stdin);
    freopen("curcubeu.out","w",stdout);
    scanf("%d %d %d %d",&n,&a,&b,&c);
	v[1].x=min(a,b);
	v[1].y=max(a,b);
	v[1].rez=c;t[1]=-1;
	solve();
	afis();
    return 0;
}