//И приз за самую неудобную работу с указателями получает Паскаль
//PascalABC.NET 3.2 сборка 1318
type
pointint=^integer;
Var
poi,prevpoi,nextpoi:pointint;
se:set of integer;
ar:array of integer;
i,j,b,min,n,minj,poiint,prevsum,nextsum:integer;
begin
se:=[];
b:=0;
i:=n;
while b=0 do
begin
inc(n);
setlength(ar,n);
readln(ar[n-1]);
if ar[n-1] in se then b:=1 else include(se,ar[n-1]);
end;
poi:[email protected][0];
for i:=2 to n-1 do
nextsum+=ar[i];
min:=sqr(ar[0]-nextsum);
nextsum:=0;
for i:=1 to n-2 do
begin
for j:=0 to i-1 do
begin
prevsum+=poi^;
poiint:=integer(poi)+sizeof(integer);
poi:=pointer(poiint);
end;
poiint:=integer(poi)+sizeof(integer);
poi:=pointer(poiint);
for j:=i+1 to n-1 do
begin
nextsum+=poi^;
poiint:=integer(poi)+sizeof(integer);
poi:=pointer(poiint);
end;
if abs(prevsum-nextsum) begin
min:=abs(prevsum-nextsum);
minj:=i;
end;
poi:[email protected][0];
nextsum:=0;
prevsum:=0;
end;
writeln(minj);
end.
Пример ввода:
1
2
3
2
Пример вывода:
2