Поделитесь своими знаниями, ответьте на вопрос:
. В пустой автобус, в котором есть А сидячих мест и В стоячих, по очереди входят N пассажиров. Каждый входящий пассажир, если видит свободное сидячее место, занимает его. Если же все сидячие места уже заняты, но есть свободное стоячее место, пассажир проходит и занимает стоячее место. Если же нет ни сидячих, ни стоячих свободных мест, пассажир выходит из автобуса. Требуется выяснить, сколько будет занято мест после того, как пассажиры зайдут в автобус. Входные данные. В единственной строке задаются три целых числа А, В, N {О < А, В, N < 10000 Выходные данные. Выведите два целых числа, обозначающих количество сидячих и стоячих мест соответственно, которые займут пассажиры.
var a,b, I, maxsumm, max : integer;
function summdel(x:integer):integer; //результат - сумма делителей х
var k,sum:integer;
begin
sum:=0;
for k := 1 to x div 2 + 1 do
if x mod k = 0 then sum:= sum+k;
summdel:=sum;
end;
begin
writeln('Введите границы a,b ');
readln(a,b);
maxsumm := 1;
max := 1;
for i := a to b do
begin
if summdel(i) > maxsumm then
begin maxsumm:= summdel(i);
max := i;
end;
end;
writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max)
end.