import math
p = int(
b = false
for i in range(1, p ** 2):
gip = (p ** 2) + (i ** 2)
if math.sqrt(gip) % 1 == 0:
b = true
if int(math.sqrt(gip)) ! = p:
print(int(math.sqrt(
if b == false:
print(-1)
# что-то типо этого, но не проходит по времени. надо смотреть диапазон. может если кто дорешает, ответьте. а так всё норм работает)
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) Выполняем условие задачи, считаем кол-во паспортов
z>=12 и z четное
z = 12