Cod sursa(job #345166)

Utilizator ionutz32Ilie Ionut ionutz32 Data 1 septembrie 2009 22:23:10
Problema Curcubeu Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.76 kb
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.