Pagini recente » Borderou de evaluare (job #640041) | Cod sursa (job #1853561) | Monitorul de evaluare | Cod sursa (job #345166)
Cod sursa(job #345166)
var a,b,c,v,col:array[0..1000000] of int64;
n,i:longint;
aux:int64;
f,g:text;
begin
assign(f,'curcubeu.in');
assign(g,'curcubeu.out');
reset(f);rewrite(g);
readln(f,n,a[1],b[1],c[1]);
if a[1]>b[1] then
begin
aux:=a[1];
a[1]:=b[1];
b[1]:=aux;
end;
v[1]:=b[1];
for i:=2 to n-1 do
begin
a[i]:=(a[i-1]*i) mod n;
b[i]:=(b[i-1]*i) mod n;
c[i]:=(c[i-1]*i) mod n;
if a[i]>b[i] then
begin
aux:=a[i];
a[i]:=b[i];
b[i]:=aux;
end;
v[i]:=b[i];
end;
for i:=n-1 downto 1 do
begin
aux:=a[i];
while aux<=b[i] do
begin
col[aux]:=c[i];
aux:=v[i]+1;
end;
end;
for i:=1 to n-1 do
writeln(g,col[i]);
close(f);close(g);
end.