var
n, i, j, h: Word;
p: Int64;
a: array [1..10000] of Int64;
begin
Read (n);
p := 0;
for i := 1 to n do
Read (a[i]);
for i := 1 to n - 1 do
for j := i + 1 to n do begin
if a[i] > a[j] then begin
h := a[i];
a[i] := a[j];
a[j] := h
end;
end;
for i := 1 to n do begin
p := p + a[i] + a[i + 1];
a[i + 1] := p
end;
Write (a[i]);
end.
Пояснение:
1) записываем в массив кол-во жителей в каждой провинции
2) сортируем этот массив "пузырьковым" методом, от меньшего к большему (ну хотя можно и рекурсией)
3) Выполняем условие задачи, считаем кол-во паспортов
ответ: Решение снизу, могут быть ошибки в компиляции, но в целом все верно
Объяснение:
program z3;
var a,b,c:integer;
Begin
readln(a,b);
s:=a+b;
if s>300 then writeln('Не хватит')
else writeln ('Хватит, останется: ', 300-s);
end.