Новое правило в чемпионате мира по программированию ICPC: можно использовать три компьютера. Давайте посмотрим как это повлияла на одну из сильнейших команд с Казахстана. Кирилл,
Айбар и Султан начали писать контест.
В контесте всего n задач и длится 5 часов.
Они уже оценили время которое они потратят на каждую задачу. Кирилл решает задачу с
номером i за ai минут. Айбар за bi
. Султан за ci
.
Как и всегда нужно решить как можно больше задач с меньшим штрафом.
Штраф определяется как сумма времени решения для каждой принятой задачи.
Например, если команда сдаст первую задачу на 5 минуте, а вторую на 10 минуте то штраф
будет равен 5 + 10 = 15.
Вам нужно определить какой самый лучший результат может получить команда.
Составим таблицу, где по горизонтале расположим страны, по вертикали номера высказываний, а в середине места, которые могут занять команды по мнению экспертов.
Г И К Р У
1. 1 3
2. 4 5
3. 4 1
4. 2 1
5. 1 5
Если мы предположим в первом высказывании, что правда - это Китай на 1 месте, то проследив дальше, мы столкнемся, что украина и италия должны быть одновременно на 5, а этого быть не может.
Тогда предполагаем, что в первом высказывании верно утверждение - украина на 3 месте и все выстраивается:
1 место - Россия, 2 место - Китай, 3 место - Украина, 4 место - Германия, 5 место - Италия.
type
Mas = array [1..5, 1..10] of integer; //Объявляем тип массива
var
m: Mas; //Переменная типа массива
i, j: integer; //Переменные для цикла
procedure CubeMas(var m: Mas); //Процедура возведения в куб
var
i, j: integer; //Локальные переменные цикла в процедуре
begin
write('Измененный массив: ');
for i:= 1 to 5 do
for j:= 1 to 10 do
begin
m[i, j]:= sqr(m[i, j]) * m[i, j]; //Возводим элемент массива в куб
write('m[', i, ', ', j, '] = ', m[i, j], ' '); //Печатаем элемент массива
end; //Конец цикла
writeln; //Перевод на новую строку
end; //Конец процедуры
begin
write('Исходный массив: ');
for i:= 1 to 5 do
for j:= 1 to 10 do
begin
m[i, j]:= random(40) - 20; {Присваиваем элементу массива случайное значение из промежутка [-20, 20] }
write('m[', i, ', ', j, '] = ', m[i, j], ' '); //Печатаем элемент массива
end; //Конец цикла
writeln; //Перевод на новую строку
CubeMas(m); //Вызываем процедуру возведения в куб
end. //Конец программы