Турнир Архимеда(52 задач)
Кировские командные турниры(8 задач)
Барнаульские командные турниры(10 задач)
Московская командная олимпиада(246 задач)
Командные чемпионаты школьников Санкт-Петербурга по программированию(167 задач)
ВКОШП(180 задач)
В батальоне непонятного назначения действует правило, что у каждого офицера должно быть не менее \(a\) и не более \(b\) звезд на погоне, при этом ни у каких двух офицеров не должно быть равного числа звезд.
В результате понижения в звании в батальон сослали офицера Й, у которого на погоне до понижения было \(c\) звезд. Теперь командиру батальона положено лишить его части звезд на погоне, в результате чего число звезд на его погоне должно стать строго меньше \(c\).
Командир батальона исследовал вопрос и выяснил, что минимальное положительное число звезд, которое можно удалить с погона офицера Й, чтобы правило выполнялось, равно \(d\), а максимальное — \(e\). Командир незамедлительно сообщил об этом офицеру Й.
Теперь офицера Й заинтересовал вопрос: какое минимальное и максимальное количество офицеров могло быть в батальоне до его прибытия? При этом командир батальона сам офицером батальона не является, и на его погонах изображены специальные загадочные символы, а не звезды.
В первой строке содержатся пять целых чисел \(a, \ b, \ c, \ d, \ e \ (1 \le a, \ b, \ c, \ d, \ e \le 1000, \ a \le b, \ a \ < \ c, \ d \le e\)).
Гарантируется, что ситуация корректна: офицера Й можно понизить так, чтобы приведенное в условии правило выполнялось, а утверждение командира является верным.
Выведите минимальное и максимальное возможное число офицеров в батальоне.
10 18 20 5 8
5 7
2 10 5 1 3
0 7
Недавно Женя устроился в компанию «Гуглекс», и сегодня его первый рабочий день. Женя живет на другом берегу реки и для проезда на работу решил воспользоваться паромом. Неожиданно он обнаружил, что съехать с парома на шоссе — не такая уж простая задача.
Машины на съезде с парома стоят в \(n\) полос, в \(i\)-й из которых стоит \(c_i\) машин, а непосредственно перед съездом находится светофор. Раз в минуту он включается зеленым и несколько машин с парома съезжают на берег. Женя заметил, что за один зеленый сигнал светофоров количество машин, которые могут успеть проехать со всех полос, суммарно не превосходит \(k\).
Понимая, что он не один такой, кому не нравится стоять в пробках, Женя ввел понятие «злости водителя». Злость водителя в некоторый момент времени равна количеству машин,которые стоят перед ним в этот момент в той же полосе. Например, если в полосе стоит 3 машины, то у водителя, чья машина находится ближе всего к светофору, злость равна 0, у следующего — 1, а у последнего — 2. Как настоящий программист, Женя сразу же начал думать, как можно оптимизировать процесс съезда с парома.
Оптимальным ему показался следующий вариант: в каждой полосе перед съездом поставить шлагбаум, который будет за один зеленый сигнал светофора пропускать только определенное количество машин. А именно, \(i\)-й полосе будет сопоставлено целое число \(k_i\) — максимальное количество машин, которые могут съехать за один зеленый сигнал. Сумма всех \(k_i\) должна быть равна \(k\).
В качестве параметра оптимизации Женя выбрал суммарную злость всех водителей за все время съезда. Каждую минуту после очередного включения зеленого света просуммируем злость всех еще не покинувших паром водителей. Просуммируем получившиеся величины за все минуты, пока хотя бы один водитель еще находится на пароме. Женя хочет подобрать \(k_i\) таким образом, чтобы получившаяся величина была минимальна.
Пока Женя стоит в пробке, помогите ему написать программу, находящую оптимальные \(k_i\), чтобы он смог оправдаться перед начальством за опоздание в первый же рабочий день.
В первой строке входного файла содержатся два числа \(n, \ k \ (1 \le n \le k \le 300\)) — количество полос на пароме и ограничение на количество машин, проезжающих за один зеленый сигнал светофора со всех полос.
Во второй строке входного файла находятся \(n\) чисел \(c_i \ (1 \le c_i \le 100 000\)) — количество машин, стоящих в \(i\)-й полосе в начальный момент времени.
В первой строке выходного файла выведите число \(a\) — минимальную суммарную злость всех водителей за все время движения машин через светофоры.
В следующей строке выведите \(n\) натуральных чисел \(k_i\) — ограничения на количество машин, проезжающих за один зеленый сигнал, для каждой полосы. Сумма чисел должна быть равна \(k\). Если оптимальных решений несколько, можно вывести любое.
В первом тестовом примере в оптимальном ответе за первый зеленый сигнал светофоров через первый шлагбаум проедет 1 машина, через второй — 1, через третий — 2. После этого злость оставшихся водителей будет равна 0 + 1 + 0 = 1 (в первом ряду не осталось машин, во втором ряду осталась одна машина, злость ее водителя равна 0, в третьем ряду осталось две машины, злость водителей в них равны 1 и 0). За второй зеленый сигнал светофоров проедут все оставшиеся машины. Получаем, что суммарная злость всех водителей за все время движения машин равна 1.
Во втором тестовом примере оптимальные числа ki такие же, однако суммарная злость водителей другая. После первого зеленого сигнала светофоров на первой полосе не останется машин, на второй полосе останется одна машина, злость ее водителя будет равна 0, а на третьей полосе останется 4 машины, злость водителей будет равна 3, 2, 1 и 0. После второго зеленого сигнала светофора на первой и второй полосах не останется машин, а на третьей полосе останется 2 машины, злость их водителей будет равна 1 и 0. После третьего зеленого сигнала машин на пароме не останется. Итого, суммарная злость водителей за все время равна 0 + 3 + 2 + 1 + 0 + 1 + 0 = 7.
3 4 1 2 4
1 1 1 2
3 4 1 2 6
7 1 1 2
Осенью в одной провинциальной средневековой общине на юго-востоке Уэльса проходит делёж собранного урожая яблок. Эта община имеет внутреннюю иерархию, согласно которой каждый из n человек имеет ранг, являющийся целым положительным числом от 1 до n , причём все люди имеют разные ранги.
Процесс дележа урожая проходит следующим образом:
Вам стало интересно, насколько данная процедура дележа яблок является честной. Определите, какое минимальное количество яблок может оказаться у человека после участия в описанной процедуре.
В единственной строке находится два целых числа n и k ( 3 ≤ n ≤ 10 000 , 1 ≤ k ≤ 10 9 ) — число людей и число яблок соответственно.
Выведите единственное целое число — минимальное количество яблок, которые могут оказаться у человека в результате описанной процедуры.
В первом примере община состоит из трёх людей, а урожай состоит из восьми яблок. Рассмотрим, например, следующий порядок рангов: 3, 1, 2.
Таким образом, человеку с рангом 1 достанется одно яблоко. С другой стороны, вне зависимости от порядка людей в кругу каждому человеку достанется хотя бы одно яблоко, потому что первых шести яблок хватит на всех троих людей при любом порядке раздачи. Значит, минимальное возможное количество яблок у человека будет равно одному.
Во втором примере урожай состоит из одного-единственного яблока. В этом случае при любом порядке людей в кругу и любом выборе начинающего человека единственное яблоко достанется начинающему, а двум оставшимся людям яблок не достанется совсем. Значит, минимальное возможное количество яблок у человека будет равно нулю.
3 8
1
3 1
0
Гриша, подобно персонажу известной кинокомедии, нашел себе ночную работу в музее естественной истории. В первую же смену ему выдали его главное орудие труда — эмбоссер — и приказали провести инвентаризацию всей экспозиции.
Эмбоссер представляет собой устройство для «печати» текста на пластиковой ленте. Текст набирается последовательно, буква за буквой. В устройство входят колесо с нанесёнными по кругу строчными буквами английского алфавита, неподвижная засечка, которая указывает на текущую букву, и кнопка, печатающая выбранную букву. За одно действие можно повернуть колесо с алфавитом на одну букву влево либо вправо по циклу. Изначально засечка эмбоссера указывает на букву a. Остальные буквы расположены так, как показано на рисунке.
Наш герой боится, что некоторые особо устрашающие экспонаты могут ожить и начать за ним свою охоту, поэтому он хочет как можно быстрее напечатать все названия. Помогите ему: для данного названия экспоната определите минимальное количество поворотов колеса, необходимое для его печати.
Единственная строка входных данных содержит название экспоната — строку, состоящую из не менее, чем одного, и не более, чем ста символов. Гарантируется, что строка состоит из строчных букв английского алфавита.
Выведите единственное целое число — минимальное количество поворотов колеса, за которое Гриша сможет напечатать название экспоната.
1. от a до z (1 поворот против часовой стрелки),
2. от z до e (5 поворотов по часовой стрелке),
3. от e до u (10 поворотов против часовой стрелки),
4. от u до s (2 поворотa против часовой стрелки).
Итого потребуется 1 + 5 + 10 + 2 = 18 поворотов.
zeus
18
map
35
ares
34
Молодой известный дизайнер Пётр решил устроить мастер-класс для широких масс. Он планирует, что на мастер-классе каждый участник создаст свой неповторимый шедевр. Пётр собирается подготовить для каждого участника огромный белый холст \(h \ см \times w \ см\) (\(h\) и \(m\) — целые числа) и баночку краски чёрного цвета, которой хватает ровно на \(s \ см^2\) холста.
Незадолго до мастер-класса Петру сообщили, что широкие массы не блещут оригинальностью, и каждый участник нарисует ровно один прямоугольник, истратив при этом целиком свою баночку краски. Более того, стороны прямоугольника обязательно будут параллельны осям холста, а расстояния от сторон прямоугольника до сторон холста будут выражаться целыми числами сантиметров. Пётр заинтересовался, сколько можно нарисовать различных произведений искусства (банальных, но всё же примечательных!) в данных условиях?
В одной строке заданы три целых числа \(h, \ w, \ s \ (1 \le h, \ w \le 10^5,\ 1 \le s \le 10^9\) ) — размеры холста и площадь прямоугольника.
Выведите одно целое число — ответ на задачу.
В первом примере из условия есть два вида прямоугольников с площадью \(4 \ см^2.\) Прямоугольник \(1 \ см \times 4\) см можно разместить двумя способами, а прямоугольник \(2\) см \(\times\) \(2\) см — тремя способами.
4 2 4
5
3 2 2
7
2 3 10
0