<em>// PascalABC.NET 3.2, сборка 1379 от 21.01.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
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(ДлинаКуска)
end
end.
<u>Пример</u>
4 11
802 743 457 539
200
//PascalABC.NET версия 3.4.0.1677 от 17.06.18
//Если программа не запускается, то обновите версию
uses System.Linq;
function GetPrimes(n: integer): List<integer>;
begin
var primes := new List<integer>();
primes.Add(2);
for var i := 3 to n do
begin
if primes.All(x -> i mod x > 0 ) then
primes.Add(i);
end;
GetPrimes := primes;
end;
begin
var n := ReadInteger('n =');
var primes := GetPrimes(2 * n);
foreach var p in primes do
if primes.Contains(p + 2) then
writeln(p, ' ', p + 2);
end.
Если a>=0 то отрезок ЛЕЖИТ в I четверти
После терабайта идет петабайт, но самая большая величина йоттабайт