не так уж и трудно, если
program project2;
var
n,a,b,c,i,k,max,min: longint;
inp,outp: text;
begin
assign(inp,'input.txt');
reset(inp);
assign(outp,'output.txt');
rewrite(outp);
readln(inp,n);
max: =0;
min: =0;
c: =0;
for i: =1 to n do
read(f1,a);
if i=1 then
b: =a;
if a> max then
max: =a;
k: =a-c;
c: =a;
if k< 0 then
k: =abs(k);
min: =min+k;
if k> min then
min: =k;
end;
max: =max-b;
write(outp,max,' ',min);
close(inp);
close(outp);
end.
обозначение:
ч - кол-во четвёрок
т - кол-во троек
д - количество двоек
пятёрок нет
по условию т+д=22
не провалившиеся = ч+22 > log2 3=log2 ((ч+22)/(ч+т))
инф-ный объём сообщения, что тройка = 2 битам >
2=log2 ((ч+22)/т)
Имеем систему трёх уравнений с тремя неизвестными:
т+д=22
log2 3=log2 ((ч+22)/(ч+т))
2=log2 ((ч+22)/т) >log2 4=log2 ((ч+22)/т)
Преобразуем:
система:
т+д=22
3=(ч+22)/(ч+т)
4=(ч+22)/т > ч+22=4т
т+д=22
3ч+3т=ч+22
4т=ч+22
т+д=22
3ч+3т=4т
4т=ч+22
т+д=22
3ч=т
12ч=ч+22
т+д=22
3ч=т
ч=2
ч=2 т=3ч=6 д=22-6=16
всего: 2+6+16=24 абитуриента
ответ 24
не так уж и трудно, если
program project2;
var
n,a,b,c,i,k,max,min: longint;
inp,outp: text;
begin
assign(inp,'input.txt');
reset(inp);
assign(outp,'output.txt');
rewrite(outp);
readln(inp,n);
max: =0;
min: =0;
c: =0;
for i: =1 to n do
begin
read(f1,a);
if i=1 then
b: =a;
if a> max then
max: =a;
k: =a-c;
c: =a;
if k< 0 then
begin
k: =abs(k);
min: =min+k;
if k> min then
min: =k;
end;
end;
max: =max-b;
write(outp,max,' ',min);
close(inp);
close(outp);
end.