Cod sursa(job #18149)

Utilizator valkyriaValkyria Dark valkyria Data 18 februarie 2007 10:10:01
Problema Reguli Scor 80
Compilator fpc Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 0.63 kb
Program reguli;
var f,g:text;
	x,a,d:array[1..500000] of longint;
	n,k,i,j,ac:longint;
begin
	assign(f,'reguli.in'); reset(f);
	assign(g,'reguli.out'); rewrite(g);
	readln(f,n);
	for i:=1 to n do
	readln(f,x[i]);
	for i:=1 to n-1 do
	d[i]:=x[i+1]-x[i];
	a[1]:=d[1];
	for i:=2 to n-1 do
	begin
		if d[i]<>a[1] then begin a[i]:=d[i]; k:=i; end
		else
		begin
		k:=i-1;
		for j:=i+1 to n-1 do
		begin
			if j  mod k = 0 then ac:=a[k]
			else ac:=a[j mod k];
			if d[j]<>ac then
				begin
					a[i]:=d[i];
					break;
				end;
		end;
		end;
		if j=n-1 then break;
	end;
	writeln(g,k);
	for i:=1 to k do
		writeln(g,a[i]);
	close(f);
	 close(g);
end.