1. УТВЕРЖДЕНО
Заместитель начальника
управления образования
Брестского облисполкома
____________И.В. Човжик
_____ ноября 2012г.
Второй этапа республиканской олимпиады по информатике
Задача A. Серьёзное дело
Ограничение по времени: 2 секунды Ввод: с клавиатуры
Ограничение по памяти: 256 мегабайт Вывод: на экран
Питер и Мика хорошие друзья и коллеги по работе, очень сложной, ответственной и
к тому ещё засекреченной работе, о которой нам, увы, нельзя ничего говорить в целях
защиты серьёзного дела, которым они занимаются.
Однажды они собрались, чтобы сыграть в одну очень интересную игру.
На столе лежит N карточек в ряд, на каждой написано некоторое число. Питер и
Мика по очереди их вытягивают, начиная с самой левой карты и заканчивая самой
правой. Первой начинает Мика. Достав определённую карточку, Мика записывает
число на ней (умноженное на 2) себе на листик. Затем карточку тянет Питер и
записывает вытянутое число в свой листик только уже умноженное на 3. После
Питера, карточку опять тянет Мика, дописав новое число, умноженное на 4, в свой
листок и так далее, пока не закончатся все карточки, находящиеся на столе.
После, каждый игрок подсчитывает сумму чисел, которую он получил. Выигрывает
тот, у кого она больше. Питер и Мика очень занятые люди и они не хотят терять время
понапрасну, например, на подсчёты заработанных очков. Поэтому они обратились к
вам за помощью.
Формат ввода:
В первой строке находится целое число N (1 ≤ N ≤ 100) – количество карточек,
выложенных на столе.
Во второй строке находятся N чисел (a1, a2, a3, … , aN) – целые числа, записанные на
карточках. По модулю не превышают 1 000 000.
Формат вывода:
В единственной строке вывода должно содержаться одно слово: “Won”, если
выиграл Питер или “Lost”, если выиграла Мика. В случае одинакового количества
набранных баллов выведите символ “?”.
Примеры:
Ввод Вывод Пояснения
4 Won Мика набрала 1*2 + 3*4 = 14 очков.
1234 Питер набрал 2*3 + 4*5 = 26 очков.
Победил Питер.
3 Lost Мика набрала 1*2 + 1*4 = 6 очков.
111 Питер набрал 1*3 = 3 очка.
Мика победила.
2 ? Мика набрала 3*2 = 6 очков.
32 Питер набрал 2*3 = 6 очков.
Ничья.
2. Задача B. Папа – не мама
Ограничение по времени: 2 секунды Ввод: с клавиатуры
Ограничение по памяти: 256 мегабайт Вывод: на экран
Родители Мики работают в книжном магазине. Сегодня у них поступление нового
товара – самые новые и интересные книги современных писателей, которые
необходимо разложить.
Для этого у родителей Мики есть много ящиков, пронумерованных от 1 до N. Мама
Мики просматривает полученные книги и кладёт их в соответствующий ящик (на
каждом ящике, кроме номера, есть наклейка, на которой написана определённая
тематика книг, лежащих в этом ящике).
Новые книги оказались настолько интересными, что в магазин выстроилась большая
очередь, ожидающая, когда продадут так сильно им понравившиеся книги.
Папа Мики – не как мама, он не любит разбираться с тематикой литературы и
раскладывать книги по ящикам. Он предпочитает просто продавать книги.
Так как покупателей в магазине много, а книг ещё больше, родителям Мики
понадобилось вести учёт оставшихся на складе книг. Вот почему они решили нанять
опытного программиста для решения поставленной задачи.
Формат ввода:
В первой строке ввода находятся два целых числа N, M (1 ≤ N, M ≤ 1 000) –
количество ящиков с различными темами и количество запросов на обработку склада
книг.
В следующих M строках записано по 3 целых числа через пробел: X, Y и Z. Если Z
равен 0, значит мама Мики положила Y новых книг в ящик с номером X. Иначе, если
Z равно 1, то папа Мики забрал ровно Y книг из ящика с номером X. Если он хочет
забрать больше книг, чем лежит в ящике, то он забирает их столько, сколько возможно
– все книги из этого ящика.
(1 ≤ X ≤ N ,1 ≤ Y ≤ 109, 0 ≤ Z ≤ 1).
Формат вывода:
В первой строке вывода должно быть записано 2 числа: количество поступивших
книг и количество проданных книг через пробел. Во второй строке должно быть
записано N чисел (тоже через пробел): количество книг в соответствующих ящиках
после завершения обработки запросов на складе.
Примеры:
Ввод Вывод
23 62
150 31
210
121
34 54
111 001
240
251
310
Задача C. Ататата
3. Ограничение по времени: 2 секунды Ввод: с клавиатуры
Ограничение по памяти: 256 мегабайт Вывод: на экран
Близкая подруга Мики – Хелена собирается переезжать со своей старой квартиры в
новый роскошный дом, который находится в городе Ататата. Поэтому ей необходимо
перевезти свои вещи из N ящиков старой квартиры, где она жила.
У Хелены есть чемодан вместимостью M килограмм. В каждом из N ящиков
находятся вещи весом ai килограмм. Хелена хочет освободить полностью три ящика,
выгрузив вещи из них в свой чемодан. Понятно, что он может оказаться неполным,
поэтому Хелена хочет выбрать три таких ящика, чтобы минимизировать оставшееся
свободное место в чемодане. Помогите ей в этом.
Формат ввода:
Первая строка ввода содержит два целых числа N и M
(3 ≤ N ≤ 100, 5 ≤ M ≤ 500 000).
В следующей строке записаны N целых чисел через пробел: ai – количество
килограмм в i-ом ящике. Все числа положительные, не превосходящие 100 000.
Гарантируется, что всегда можно выбрать три ящика, чтобы суммарный вес вещей,
лежащих в них, не превысил вместимость чемодана.
Формат вывода:
Выведите единственное число – максимально возможное количество килограмм,
которыми можно наполнить чемодан Хелены с помощью трёх ящиков.
Примеры:
Ввод Вывод
4 10 10
5114
48 7
1 20 3 3
4. Задача D. Забавный кот
Ограничение по времени: 2 секунды Ввод: с клавиатуры
Ограничение по памяти: 256 мегабайт Вывод: на экран
У Питера есть кот, который очень нравится Хелене и Мике и каждый раз, приходя в
гости, они приносят коту какой-нибудь подарок.
И вот однажды они решили поспорить: кто из них больше нравится коту? Мика или
Хелена? Питер, как очень изобретательный человек, решил придумать такое
соревнование: он выложил в кучу все игрушки, которые были подарены коту и
посадил Мику и Хелену по разные стороны комнаты. Теперь кот берёт игрушки по
одной и тащит к какой-нибудь участнице спора.
В это время Питер попивает чай с его любимым печеньем, смотрит баскетбольную
игру своей любимой команды по телевизору и считает рейтинг Хелены и Мики
следующим образом: каждую секунду он добавляет к рейтингу одной их участниц 1,
если количество игрушек, перенесённых ей котом, больше, чем у другой. Если же в
данную секунду количество игрушек одинаково, то рейтинги обоих участниц не
меняются.
Вам известны моменты времени, когда кот приносит игрушки Хелене и Мике. По
этим данным определите конечный рейтинг каждой участницы. Изначально
количество игрушек у каждой равно 0.
Формат ввода:
В первой строке ввода находится целое число N (1 ≤ N ≤ 100) – количество игрушек,
которые кот перенёс за всё время игры. Игра длится 48 минут.
В следующих N строках записано три целых числа: w, m, s через пробел. Если w = 1,
то кот принёс игрушку Мике, если w = 2, то Хелене. Числа m и s означают номер
минуты и секунды (от начала матча) когда кот перенёс определённую игрушку
(0 ≤ m ≤ 47, 0 ≤ s ≤ 59).
Формат вывода:
Выведите два числа в первой строке: количество минут и количество секунд
рейтинга Мики, и два числа во второй строке: количество минут и количество секунд
рейтинга Хелены.
Примеры:
Ввод Вывод
1 38 0
1 10 0 00
5. Задача E. Конфеты
Ограничение по времени: 2 секунды Ввод: с клавиатуры
Ограничение по памяти: 256 мегабайт Вывод: на экран
Как известно всем, Питер очень любит сладкое.
Сегодня он купил N упаковок конфет по ai штук в каждой и приступил к их
поеданию. Только в этот раз Питер ест их необычным способом.
Он выбирает определённое число m и съедает из каждой коробки (ai –m) конфет.
Например, у Питера есть 5 коробок с 3, 2, 8, 9 конфетами. Пит выбрал число 4. Тогда
из первой и второй коробки он ничего не съест (в них конфет меньше, чем 4), а из двух
последних коробок он съест 4 и 5 конфет. Таким образом, получим, что в пяти
коробках будет лежать 3, 2, 4, 4 конфет соответственно.
Питер хочет выбрать такое наибольшее число m, чтобы съесть как минимум K
конфет.
Формат ввода:
В первой строке ввода находятся целые числа N и K (1 ≤ N ≤ 106, 1 ≤ K ≤ 2*109).
В следующей строке записано N целых чисел через пробел: количество конфет в
каждой коробке, которое не превышает 109.
Формат вывода:
Выведите одно число – ответ на задачу.
Примеры:
Ввод Вывод
47 6
11 6 1 8