Есть ответ 👍

Есть ли способы максимально оптимизировать решение данной так, чтобы решать её не путём какого-либо перебора, а быстро просчитать ответ? найдите наименьшее натуральное число, которое нужно подать на вход алгоритма, чтобы в результате были выведены числа 3 и 7.

168
416
Посмотреть ответы 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) Выполняем условие задачи, считаем кол-во паспортов

Популярно: Информатика