Pagini recente » Cod sursa (job #1558197) | Cod sursa (job #1860062) | Cod sursa (job #1903102) | Cod sursa (job #43758) | Cod sursa (job #23100)
Cod sursa(job #23100)
{$IFDEF NORMAL}
{$I-,Q-,R-,S-}
{$ENDIF NORMAL}
{$IFDEF DEBUG}
{$I+,Q+,R+,S-}
{$ENDIF DEBUG}
{$IFDEF RELEASE}
{$I-,Q-,R-,S-}
{$ENDIF RELEASE}
type vec=array[1..500000]of int64;
var v:vec;
n:longint;
procedure readdata;
var f:text;
i:longint;
c,d:int64;
begin
assign(f,'reguli.in'); reset(f);
readln(f,n);
readln(f,c);
for i:=2 to n do
begin
readln(f,d);
v[i-1]:=d-c;
c:=d;
end;
dec(n);
close(F);
end;
function verificare(r: longint):longint;
var i:longint;
begin
for i:=r+1 to n do
if (v[i]<>v[i-r]) then begin verificare:=i; exit; end;
verificare:=0;
end;
procedure scrie(t:longint);
var i:longint;
f:text;
begin
assign(f,'reguli.out'); rewrite(F);
writeln(f,t);
for i:=1 to t do writeln(f,v[i]);
close(f);
end;
procedure check;
var c,i:longint;
begin
i:=2;
while(i<=n) do
begin
if (v[i]=v[1]) then
begin
c:=verificare(i-1);
if (c<>0) then i:=c-1
else begin scrie(i-1); halt; end;
end;
inc(i);
end;
scrie(n);
end;
Begin
readdata;
check;
End.