• Паскаль! Помогите пожалуйста!
    Провода
    Дано N отрезков провода длиной L1, L2, ..., LN сантиметров. Требуется с помощью разрезания получить из них K равных отрезков как можно большей длины, выражающейся целым числом сантиметров. Если нельзя получить K отрезков длиной даже 1 см, вывести 0.

    Ограничения: 1 <= N <= 10 000, 1 <= K <= 10 000, 100 <= Li <= 10 000 000, все числа целые.

    Входные данные
    В первой строке находятся числа N и К. В следующих N строках - L1, L2, ..., LN, по одному числу в строке.

    Выходные данные
    Вывести одно число - полученную длину отрезков.

Ответы 2

  • Решение в прикрепленном файле.Ввод -вывод5 12678910длина отрезка: 3
    answer img
  • // PascalABC.NET 3.2, сборка 1379 от 21.01.2017// Внимание! Если программа не работает, обновите версию!begin  var ЕстьКусков,НадоКусков:integer;  Readln(ЕстьКусков,НадоКусков);  var Длины:=ReadArrInteger(ЕстьКусков);  var ОбщаяДлина:=Длины.Sum;   if НадоКусков>ОбщаяДлина then Writeln(0)  else begin    var ДлинаКуска:=ОбщаяДлина div НадоКусков;    repeat      if Длины.Select(Кусок->Кусок div ДлинаКуска).Sum >=НадоКусков then break      else ДлинаКуска-=1;    until false;    writeln(ДлинаКуска)    endend.Пример4 11802 743 457 539200
    answer img
    • Автор:

      columbano
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years