Страница: << 92 93 94 95 96 97 98 >> Отображать по:
#111821
  
Источники: [ Командные олимпиады, ВКОШП, 2012, Задача C ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Мария Петровна работает преподавателем в университете.

В середине семестра она дала своим студентам контрольную работу, в которой было \(n\) заданий, упорядоченных по возрастанию сложности.

Мария Петровна знает, что каждый из ее студентов относится к одной из трех категорий:

  • Трудолюбивый студент решает на контрольной задачи в порядке увеличения сложности, начиная с самой легкой, и не пропуская ни одной задачи, пока не закончится время контрольной.
  • Умный студент решает на контрольной задачи в порядке уменьшения сложности, начиная с самой сложной, и не пропуская ни одной задачи, также пока не закончится время контрольной.
  • Плохой студент списывает ровно одну задачу у какого-либо трудолюбивого или умного студента. При этом, два плохих студента не могут списать одну и ту же задачу у одного и того же человека.

Трудолюбивые и умные студенты всегда правильно решают все задачи, которые успевают.

Мария Петровна очень не любит студентов, которые списывают. Поэтому, если она узнает, что кто-то у кого-то списал, то обоим студентам она эту задачу не засчитывает.

По итогам контрольной Мария Петровна внесла в ведомость зачтенные задачи для каждого студента и про каждую задачу посчитала, скольким студентам она ее зачла.

Поскольку приближаются экзамены, Мария Петровна решила оценить число плохих студентов в группе, чтобы спланировать время на пересдачи. К сожалению, она потеряла ведомость с зачтенными задачами и сохранила лишь листок, в котором записано для каждой задачи, какому числу студентов эта задача зачтена.

Мария Петровна интересуется, какое минимальное число плохих студентов может быть в группе. Помогите ей это выяснить.

Формат входного файла

Входной файл содержит несколько тестов. В первой строке входного файла содержится целое число \(T\) - число тестов. Далее следуют описания тестов.

Описание каждого теста состоит из двух строк. В первой строке описания задано целое число \(n\) - количество заданий в контрольной работе. Далее для каждого задания, в порядке возрастания сложности, указано число \(a_i\) - количество студентов, которым зачтена соответствующая задача (\(0 \le a_i \le 10^9\)).

Гарантируется, что суммарное число заданий во всех тестах не превосходит \(10^5\), а также то, что в контрольной была хотя бы одна задача.

Формат выходного файла

Для каждого теста выведите единственное число - искомое минимальное возможное число плохих студентов.

Пояснения к примерам

В первом тесте у Марии Петровны могло быть три трудолюбивых студента, два из которых решили по две задачи, а один - только одну, и еще один умный студент, который решил самую сложную задачу (но ничего больше решить не успел).

Во втором тесте у Марии Петровны мог быть один умный студент, который решил две последних задачи, четыре трудолюбивых студента, которые решили по две первые задачи и три плохих студента, которые списали первую задачу, каждый у одного из трудолюбивых студентов. В результате из семи решений первой задачи шесть было аннулировано, зачтенным это задание осталось только у трудолюбивого студента, у которого никто не списал.

Примеры
Входные данные
2
4
3 2 0 1
3
1 5 1
Выходные данные
0
3
Входные данные
2
4
3 2 0 1
3
1 5 1
Выходные данные
0
3
#111822
  
Источники: [ Командные олимпиады, ВКОШП, 2012, Задача D ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Часто при вырубке леса для строительства, например, дорог проводятся компенсационные лесопосадки - равное или большее число деревьев высаживается в другом месте. Однако посаженный таким образом лес отличается от самостоятельно выросшего~--- при компенсационной посадке деревья обычно сажают в узлах регулярной решетки, что изменяет влияние деревьев друг на друга.

Павел занимается математическим моделированием роста деревьев, высаженных в узлах прямоугольной решетки.

Будем считать, что в узлы решетки размером \(n\times m\) высажены деревья. Два дерева считаются соседними, если узлы, в которых они растут, являются соседними по вертикали или по горизонтали. У каждого дерева есть своя высота, равная некоторому целому числу метров.

Павел считает, что высота деревьев изменяется с годами по следующему закону:

  • если у дерева есть хотя бы один сосед, высота которого ровно на один метр больше высоты самого дерева, то через год высота дерева увеличится ровно на один метр
  • если у дерева нет такого соседа, его высота через год останется прежней.

При моделировании роста деревьев по этим правилам рост всех деревьев остановится в тот момент, когда соседних деревьев с разницей в росте, равной одному метру, не останется. Павел хочет выяснить, сколько лет пройдет до этого момента и какая высота будет в этот момент у каждого дерева.

Помогите ему, напишите программу, которая по заданным начальным высотам деревьев выяснит, через сколько лет рост всех деревьев остановится и какой будет высота каждого дерева в этот момент.

Формат входного файла

В первой строке входного файла находятся два целых числа \(n\) и \(m\) - размеры участка леса (\(1 \le n, m \le 100\)). Следующие \(n\) строк содержат по \(m\) натуральных чисел, каждое из которых задает высоту соответствующего дерева. Высота каждого дерева не превышает \(100\).

Формат выходного файла

В первой строке выходного файла выведите \(t\) - число лет, которое пройдет до того момента, когда все деревья перестанут расти. После этого выведите \(n\) строк по \(m\) чисел - каждое число должно быть равно высоте соответствующего дерева через \(t\) лет.

Примеры
Входные данные
3 4
1 1 1 2
1 5 5 1
3 1 1 1
Выходные данные
9
3 3 3 3
3 5 5 3
3 3 3 3
#111823
  
Источники: [ Командные олимпиады, ВКОШП, 2012, Задача E ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Чтобы стать джедаем, необходимо овладеть многими теоретическими и практическим навыками. В Академии Джедаев можно обучиться всему необходимому, если, конечно, у тебя есть способности.

Новый студент академии Фил очень способный и обучается индивидуально. Он вправе самостоятельно составлять свое расписание. Фил очень любознателен, поэтому он все свое время посвящает учебе. Фил не учится только в те моменты, когда переходит из одного корпуса академии в другой или идет из общежития в один из корпусов.

Академия состоит из двух корпусов, в одном из которых обучают теоретическим навыкам, а в другом - практическим. Путь из одного корпуса в другой занимает ровно \(a\) минут. Изучение любого навыка занимает ровно \(b\) минут. В начальный момент Фил находится в общежитии, путь от которого до каждого из корпусов также занимает \(a\) минут.

Разумеется, навыки нельзя изучать в произвольном порядке. Например, прежде чем овладеть световым мечом, нужно сначала изучить основы оптики и искусство рукопашного боя. Филу важно учесть это при составлении своего расписания.

Фил хочет как можно скорее стать джедаем, но для этого ему нужно обучиться всем необходимым навыкам. Прежде чем приступить к учебе, он хочет узнать через какое минимальное число минут он сможет изучить все навыки. Помогите ему это выяснить. После окончания учебы Фил сразу же отправится сражаться со злом, возвращаться в общежитие ему не требуется.

Формат входного файла

В первой строке входного файла задано целое число \(n\) - количество навыков, которым нужно обучиться в академии (\(1 \le n \le 10^5\)). Все навыки пронумерованы от 1 до \(n\).

В следующих \(n\) строках описаны требования для изучения каждого навыка. В начале \(i\)-й из этих строк записано число 1 или 2, оно указывает в каком корпусе можно изучить \(i\)-й навык. Затем следует число \(k\) - количество навыков, необходимых для изучения навыка \(i\). Затем в этой же строке следует \(k\) целых чисел - навыки, необходимые для изучения навыка \(i\). Гарантируется, что сумма чисел \(k\) по всем навыкам не превосходит \(10^5\).

В следующей строке задано два целых числа \(a\) - время в минутах на путь из одного корпуса в другой или из общежития до корпуса, и \(b\) - время на изучение одного навыка (\(1 \le a, b \le 10^4\)).

Гарантируется, что существует такой порядок изучения всех навыков, при котором каждый раз при изучении очередного навыка все необходимые для него уже изучены.

Формат выходного файла

В единственной строке выходного файла выведите минимальное время в минутах, которое потребуется Филу, чтобы стать джедаем.

Примеры
Входные данные
6
1 3 3 4 5
2 1 4
2 2 5 6
1 1 6
1 0
1 0
15 40
Выходные данные
285
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Артур принимает участие в телешоу, в котором участникам необходимо выполнять различные интеллектуальные и физические задания, чтобы зарабатывать очки. В одном из таких заданий Артуру необходимо спасти маленького котенка.

Поле для выполнения задания представляет собой прямоугольник размером \(n \times m\) метров, разбитый на квадраты единичной площади. В одном из квадратов исходно находится Артур, в некотором другом квадрате находится котенок. Кроме того, один из квадратов содержит лифт, встав на который вместе с котенком, Артур успешно выполняет задание.

За один шаг Артур может перемещаться на любой квадрат, имеющий общую сторону с тем, на котором он стоит. После этого квадрат, на котором перед этим шагом стоял Артур, исчезает и больше на него вставать нельзя. Таким образом исчезают в том числе и квадрат, на котором исходно стоял Артур, и квадрат с котенком. Цель Артура - дойти до котенка, взять его и затем дойти до лифта. При этом очки за выполнение задания, зависят от числа шагов, которое сделает Артур, поэтому ему необходимо сделать минимальное число шагов.

Выяснив, сколько шагов ему придется сделать, Артур заинтересовался, сколько существует различных способов дойти до котенка, а затем с ним до лифта, сделав в сумме минимальное число шагов. Помогите ему это выяснить. Это число может быть довольно большим, поэтому Артур просит найти его по модулю \(10^9+7\).

Формат входного файла

Первая строка входного файла содержит два натуральных числа \(n\) и \(m\) - размеры поля для выполнения задания (\(2 \le n, m \le 100\)).

Вторая строка содержит два целых числа \(x_A\) и \(y_A\) - координаты квадрата, на котором исходно находится Артур (\(1 \le x_A \le n\), \(1 \le y_A \le m\)). Третья строка содержит два целых числа \(x_K\) и \(y_K\) - координаты квадрата, на котором сидит котенок (\(1 \le x_K \le n\), \(1 \le y_K \le m\)). Четвертая строка содержит два целых числа \(x_E\) и \(y_E\) - координаты квадрата, на котором находится лифт (\(1 \le x_E \le n\), \(1 \le y_E \le m\)). Эти три квадрата попарно различны.

Формат выходного файла

В единственной строке выходного файла выведите одно число - число способов дойти до котенка и затем до лифта, не наступая на один квадрат два раза, совершив при этом минимальное количество шагов. Число необходимо вывести по модулю \(10^9+7\).

Пояснения к примеру

Два способа для поля, приведенного в примере.

Примеры
Входные данные
3 3
1 1
3 3
2 2
Выходные данные
2
#111825
  
Источники: [ Командные олимпиады, ВКОШП, 2012, Задача G ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

В одном городе люди постоянно жаловались на то, что им мешают спать. Каждый день у соответствующих чиновников собиралась большая куча заявлений о слишком громком поведении некоторых людей ночью. С этим необходимо было что-то делать. Тогда на очередном собрании было решено принять закон, который запрещает издавать громкие звуки после одиннадцати часов вечера.

В соответствии с бюрократическими традициями, закон должен содержать расшифровку понятия <<громкий звук>>. В результате обсуждения, ночью решили запретить, например, играть на музыкальных инструментах, передвигать мебель, забивать гвозди.

Когда закон уже собирались принимать, один депутат заметил, что холодильник не является мебелью, и его перемещение не попадает под действие закона. Другие депутаты также начали придумывать дополнительные запреты, которые исходно не попали в закон. В результате были запрещены ночные стоны, скрипы, лай собак и топот котов.

За нарушение закона был введен штраф в размере \(a\) рублей.

Узнав о законе, Петя решил выяснить, какой штраф может быть наложен на жильцов его дома. Дом, в котором живет Петя, имеет \(n\) этажей, на каждом этаже находится по \(m\) квартир. Квартиры в доме пронумерованы от 1 до \(nm\). Если на некотором не последнем этаже находится квартира номер \(x\), то непосредственно над ней расположена квартира номер \(x + m\).

Известно, что в \(i\)-й квартире живет \(b_i\) котов. Петя предположил, что жильцы некоторой квартиры будут жаловаться на соседей сверху только в том случае, если коты сверху топают существенно громче, чем их собственные. Проведя эксперименты, Петя решил, что \(p\) котов топают существенно громче, чем \(q\) котов, если \(p > 2q\).

Выясните, какой суммарный штраф придется заплатить жильцам этого дома, если все, у кого коты в квартире непосредственно сверху топают существенно громче, чем их собственные коты, пожалуются на своих соседей сверху и на тех будет наложен штраф.

Формат входного файла

Первая строка входного файла содержит три целых числа \(n\), \(m\), \(a\) - количество этажей, количество квартир на каждом этаже и размер штрафа (\(1 \le n \le 20\), \(1 \le m \le 10\), \(1 \le a \le 1000\)). В следующей строке содержится \(nm\) целых чисел \(b_1, b_2, \ldots, b_{nm}\), где \(b_i\) - количество котов в \(i\)-й квартире (\(1 \le b_i \le 30\)).

Формат выходного файла

Выведите в выходной файл искомый суммарный штраф.

Пояснения к примеру

В примере штраф придется заплатить только жильцам 6-й квартиры.

Примеры
Входные данные
2 3 10
3 5 2 4 10 5
Выходные данные
10

Страница: << 92 93 94 95 96 97 98 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест