S1=31
S2=32
Объяснение:
Чтобы выиграть первым ходом, в куче должно быть от 16 до 30 камней включительно. Соответственно, чтобы выиграть вторым ходом, необходимо чтобы камней было в два раза больше (если первым ходом игрок уменьшает число камней в два раза), то есть от 31 до 60 камней.
Но первым ходом игрок не обязательно уменьшает число камней в два раза. Он может просто взять один камень. В этом случае, в куче должно быть 31 или 32 камня.
С учетом того, что согласно условию задачи, выигрыш должен наступить независимо от того, каким будет первый ход, искомые значения 31 и 32.
const n=6;
var i,k,j:integer;
a,b:array[1..1000]of real;
p:real;
begin
k:=0;
for i:=1 to n do
begin
read(a[i]);
if(a[i]<0)then begin
k:=k+1;
b[k]:=a[i];
end;
end;
if(k=0)then writeln('NO') else begin
writeln(k);
for i:=1 to k-1 do
for j:=i+1 to k do
if(b[j]>b[j+1])then begin
p:=b[j];
b[j]:=b[j+1];
b[j+1]:=p;
end;
for i:=1 to k do
write(b[i],' ');
end;
end.