Темы
    Информатика(2656 задач)
---> 228 задач <---
    2003(8 задач)
    2004(9 задач)
    2005(10 задач)
    2006(10 задач)
    2007(19 задач)
    2008(19 задач)
    2009(18 задач)
    2010(18 задач)
    2011(18 задач)
    2012(19 задач)
    2013(19 задач)
    2014(20 задач)
    2015(21 задач)
    2016(20 задач)
Страница: << 40 41 42 43 44 45 46 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

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

Эмбоссер представляет собой устройство для «печати» текста на пластиковой ленте. Текст набирается последовательно, буква за буквой. В устройство входят колесо с нанесёнными по кругу строчными буквами английского алфавита, неподвижная засечка, которая указывает на текущую букву, и кнопка, печатающая выбранную букву. За одно действие можно повернуть колесо с алфавитом на одну букву влево либо вправо по циклу. Изначально засечка эмбоссера указывает на букву a. Остальные буквы расположены так, как показано на рисунке.

После внесения предмета в базу Гриша должен с помощью эмбоссера выдавить на пластиковой ленте название и прикрепить его к экспонату. Возвращать колесо обратно в позицию, соответствующую букве 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
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Молодой известный дизайнер Пётр решил устроить мастер-класс для широких масс. Он планирует, что на мастер-классе каждый участник создаст свой неповторимый шедевр. Пётр собирается подготовить для каждого участника огромный белый холст \(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\) см — тремя способами.

Во втором примере из условия есть два вида прямоугольников с площадью \(2 \ см^2\) . Прямоугольник \(1 \ см \times 2 \ см\) можно разместить четырьмя способами, а прямоугольник \(2 \ см \times 1 \ см\) — тремя способами.
В третьем примере из условия площадь холста слишком мала для столь большого количества краски, поэтому нарисовать произведение искусства в таких условиях невозможно.

Примеры
Входные данные
4 2 4
Выходные данные
5
Входные данные
3 2 2
Выходные данные
7
Входные данные
2 3 10
Выходные данные
0
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

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

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

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

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

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

Входные данные

В первой строке находится целое число n ( 1 ≤ n ≤ 200 000 ) — количество тренировок.

Во второй строке находится n целых чисел a 1 , a 2 , ..., a n ( 0 ≤ a i ≤ 10 000 ), разделённых пробелами, — количества команд, которые придут на каждую из тренировок.

Выходные данные

Если Серёжа может заказать все пиццы, используя только скидки и купоны и не покупая лишние пиццы ни в один из дней, выведите « YES » (без кавычек). Иначе выведите « NO » (без кавычек).

Примечание

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

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

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

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

Однако за десять минут до отъезда в тёплые страны ей пришла в голову мысль, что Арсению надо оставить точную инструкцию, какую одежду надевать в какой из дней её отсутствия. Арсений живёт в очень необычной семье, в которой вся одежда пронумерована: например, n носков Арсения имеют различными целые номера от 1 до n . Поэтому всё, что потребовалось его маме, это указать для каждого дня два числа l i и r i — номера носков, которые надо надеть в i -й день на левую и правую ногу соответственно (разумеется, l i не совпадает с r i ). Каждый носок покрашен в один из k цветов.

Уже после отъезда матери Арсений заметил, что в некоторые дни в соответствии с инструкцией ему придётся надеть носки разных цветов, что, конечно, является досадной оплошностью, вызванной спешкой перед отъездом при составлении инструкции. Но Арсений находчивый мальчик, и, по счастливому совпадению, он нашёл у себя дома банки с красками всех k цветов, которые встречаются среди его носков.

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

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

Входные данные

В первой строке находится три целых числа n , m и k ( 2 ≤ n ≤ 200 000 , 0 ≤ m ≤ 200 000 , 1 ≤ k ≤ 200 000 ) — количество носков, количество дней отсутствия мамы и количество доступных цветов соответственно.

Во второй строке находится n разделённых пробелами целых чисел c 1 , c 2 , ..., c n ( 1 ≤ c i k ) — цвета носков Арсения.

В каждой из последующих m строк находится по два целых числа l i , r i ( 1 ≤ l i , r i n , l i r i ) — номера носков, которые Арсений должен надеть в i -й день на левую и правую ногу соответственно.

Выходные данные

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

Примечание

В первом примере Арсений может, например, перекрасить первый и третий носки во второй цвет.

Во втором примере ничего перекрашивать не придётся.

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

Археологи, найдя секретный ход в подземелье одной из пирамид в Цикляндии, столкнулись с необычным замком на двери в сокровищницу. На замке было написано n слов, каждое из которых состоит из нескольких иероглифов. Рядом с замком на стене был обнаружен необычный круглый рычаг, поворот которого меняет иероглифы, из которых состоят слова на замке, по некоторому принципу. Также рядом с иероглифом была найдена надпись на древнецикляндском, которая гласит, что замок откроется, только если слова, написанные на замке, станут идти в лексикографическом порядке (определение дано в пояснении).

Несмотря на то, что археологи отлично знали весь древнецикляндский алфавит, который состоял из c иероглифов, они никак не могли определить закономерность, по которой меняются буквы. Наконец кто-то догадался позвать вас, главного мыслителя современной Цикляндии. Вам хватило одного взгляда, чтобы понять, что поворот рычага на одну позицию по часовой стрелке заменяет каждый иероглиф на следующий за ним по алфавиту, то есть x -й ( 1 ≤ x c - 1 ) иероглиф превращается в ( x + 1) -й, а c -й превращается в первый.

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

Входные данные

В первой строке находится два числа n и c ( 2 ≤ n ≤ 500 000 , 1 ≤ c ≤ 10 6 ) — количество слов, написанных на замке, и количество иероглифов в древнецикляндском алфавите.

Каждая из последующих n строк описывает одно слово, написанное на замке. В i -й из последующих строк сначала находится целое число l i ( 1 ≤ l i ≤ 500 000 ), обозначающее длину i -го слова, после чего следует l i целых чисел w i , 1 , w i , 2 , ..., w i , l i ( 1 ≤ w i , j c ) — алфавитные номера иероглифов, составляющих i -е слово. Символ 1 является самым маленьким в древнецикляндском алфавите, а символ c — самым большим.

Гарантируется, что суммарная длина всех слов не превосходит 10 6 .

Выходные данные

Если возможно открыть дверь, поворачивая рычаг, выведите число x ( 0 ≤ x c - 1 ), обозначающее, сколько раз его надо повернуть по часовой стрелке. Если подходящих значений x несколько, выведите любое из них.

Если, поворачивая рычаг, дверь открыть невозможно, выведите - 1 .

Примечание

Слово a 1 , a 2 , ..., a m длины m лексикографически не превосходит слова b 1 , b 2 , ..., b k длины k , если выполняется одно из двух:

  • либо в первой позиции i , такой что a i b i , символ a i идёт раньше по алфавиту, чем символ b i , то есть в первой различающейся позиции символ слова a меньше символа слова b ;
  • либо (если такой позиции нет) m k , то есть второе слово начинается с первого либо совпадает с ним

Про последовательность слов говорят, что они идут в лексикографическом порядке , если каждое слово в нём (кроме последнего) лексикографически не превосходит следующего за ним.

В первом примере после поворота рычага на 1 позицию по часовой стрелке слова примут следующий вид:


1 3
2
3 1 2
3 1 2 3

Во втором примере слова уже идут в лексикографическом порядке.

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

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

Страница: << 40 41 42 43 44 45 46 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест