І етап Всеукраїнської учнівської олімпіади з інформатики
для 8-11 класів
1. Зернини
Ім'я вхідного файлу: Input.txt.
Ім'я вихідного файлу: Output.txt.
У банці знаходяться білі та чорні зернини. Кожного разу з банки виймають навмання дві зернини. Якщо вони однакового кольору, то їх викидають, а до банки кладуть чорну зернину (чорних зернин у достатній кількості). Якщо ж зернини різного кольору, то чорну викидають, а білу повертають до банки. Ці дії повторюють, доки не залишиться одна зернина.
Завдання Напишіть програму, яка за відомою кількістю чорних та білих зернин визначає колір останньої зернини.
Вхідні данні.У єдиному рядку записані два числа – кількість білих та чорних зернин.
Вихідні данні. Єдиний рядок вихідного текстового файлу має містити колір зернини, що залишилася: white – якщо зернина біла, black – якщо зернина чорна.
Приклад вхідних і вихідних даних:
Input.txt | Output.txt |
4 3 | black |
2. Найбільший добуток
Ім'я вхідного файлу: Input.txt.
Ім'я вихідного файлу: Output.txt.
Максимальний час роботи на одному тесті: 5 секунд.
Дано N цілих чисел.
Завдання. Необхідно вибрати з N цілих чисел три таких числа, добуток яких максимальний.
Вхідні данні.Перший рядок вхідного файлу містить одне число N – кількість чисел у послідовності (3£ N £106). У другому рядку записано саму послідовність: N цілих чисел, які за модулем не перевищують 30000.
Вихідні данні. У вихідний файл виведіть три шуканих числа в довільному порядку. Якщо існує декілька різних трійок чисел, які дають максимальний добуток, то виведіть довільну з них.
Приклад вхідних і вихідних даних:
Input.txt | Output.txt |
9 | 9 10 9 |
3 5 1 7 9 0 9 –3 10 | |
3 | –5 –30000 –12 |
–5 –30000 –12 |
3. Купівля квитків
Ім'я вхідного файлу:Input.txt.
Ім'я вихідного файлу: Output.txt.
Максимальний час роботи на одному тесті: 5 секунд.
Максимальний об'єм використаної пам'яті: 4 Мбайти.
За квитками на прем'єру нового мюзиклу зібралася черга з N осіб, кожна з яких хоче купити 1 квиток. На всю чергу працювала тільки одна каса, тому продаж квитків просувався дуже повільно, від чого «клієнти» черги впадали у відчай. Найкмітливіші швидко примітили, що, як правило, декілька квитків у одні руки касир продає швидше, ніж коли ці ж квитки продаються по одному. Тому вони запропонували декільком людям, які стоять поряд, віддавати гроші першому з них, щоб він купив квитки на всіх.
Але для боротьби зі спекулянтами касир продавала не більше 3-х квитків в одні руки, тому домовитися таким чином між собою могли лише 2 або 3 особи, які стоять поряд.
Відомо, що на продаж іособі з черги одного квитка касир витрачає Аі секунд, на продаж двох квитків – Вісекунд, трьох квитків – Сi секунд.
Завдання. Напишіть програму, яка визначить мінімальний час, за який можна було б обслужити всіх покупців.
Зверніть увагу, що квитки на групу людей, що об'єднались, завжди купує перший із них. Також ніхто з метою прискорення не купує зайвих квитків (тобто квитків, які нікому не потрібні).
Вхідні данні.Перший рядок вхідного файлу містить єдине число N – кількість покупців в черзі (1£N£5000). У кожному з наступних Nрядків записано трійку натуральних чисел Аі, Bi, Сi. Кожне з цих чисел не перевищує 3600. Люди в черзі нумеруються, починаючи від каси.
Вихідні данні. Вихідний файл містить одне число – мінімальний час у секундах, за який можна було б обслужити всіх покупців.
Приклад вхідних і вихідних даних:
Input.txt | Output.txt |
5 | 12 |
5 10 15 | |
2 10 15 | |
5 5 5 | |
20 20 1 | |
20 1 1 | |
2 | 4 |
3 4 5 | |
1 1 1 |
Коментарi