По условию на каждый этаж нужно ровно одному магу.
Пусть n - искомый (самый выгодный этаж для остановки), тогда магу живущему на n этаже не придется идти ни вверх, ни вниз.
Вверх нужно подняться 2020-n магам, на на 1, 2, 3, …, 2021-n этажей соответственно. Вниз придётся спускаться n-1 магу, на 1,2,3,…, n-1 этажей.
Подсчитаем общее количество неудовольствий с учётом того, что маги не любят подниматься вверх в двойне.
Заметим, что минимум полученного квадратного трёхчлена достигается в точке n= . В силу того, что n – целое, а также парабола имеет ось симметрии, лифт должен подняться на 1441 этаж (минимум точки 1440,52)округляем до целого.
ответ:1441
P.S. не уверен, что это так, но в принципе, должно быть правильно
program spos;
uses crt;
var
numb:array [1..100] of byte; // для последовательности чисел
i,f:integer; //счетчик и переменная в качестве флага
begin
randomize;
f:=0;
for i:=1 to 100 do numb[i]:=random(101);// задает последовательность
for i:=1 to 100 do
begin
write(',',numb[i]); // вывод на экран последовательность(можно удалить)
if (numb[i]=77)then f:=1; // в случае удачной проверки f:=1, в противном останется 0
end;
if f=0 then writeln('Yes') else writeln('No');
end.
program spos;
uses crt;
var
numb:array [1..100] of byte; // для последовательности чисел
i,f:integer; //счетчик и переменная в качестве флага
begin
randomize;
f:=0;
for i:=1 to 100 do begin
numb[i]:=random(101);// задает последовательность
write(' ',numb[i]);//вывод на экран, можно удалить
end;
writeln;
i:=0;
repeat
i:=i+1;
if (numb[i]=77)then f:=1; // в случае удачной проверки f:=1, в противном останется 0
until i<100;
if f=0 then writeln('Yes') else writeln('No');
end.