Страница: << 99 100 101 102 103 104 105 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Миша часто ездит в маршрутках. Миша законопослушный, поэтому он всегда покупает билет. Каждый билет в маршрутке имеет номер — \(2N\)-значное десятичное число, возможно, с ведущими нулями. После покупки билета Миша всегда проверяет, счастливый ли достался ему билет. Счастливым Миша считает такой билет, у которого сумма первых \(N\) цифр номера равна сумме последних \(N\) цифр. Если билет оказывается несчастливым, Миша ищет расстояние до ближайшего счастливого, т.е. минимальное число \(x\) такое, что если к номеру билета, полученного Мишей, прибавить или отнять \(x\) (при этом, разумеется, полученный номер должен быть корректным номером билета, т.е. должен быть не меньше нуля и не больше \(10^{2N}-1\)), то получившийся номер должен быть номером счастливого билета.

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

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

Во входном файле содержится единственное число \(N\) (\(1 \leq N \leq 100\,000\)) — половина длины номера билетов.

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

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

Примечание

В примере расстояние от билета с номером 0050 до ближайшего счастливого равно 50: если из этого номера вычесть 50, получится 0000 — счастливый номер. Аналогично, от билета 0051 расстояние до ближайшего счастливого тоже равно 50: если к номеру прибавить 50, получится 0101. У билетов 9948 и 9949 расстояние до ближайшего счастливого также равно 50; других билетов с таким расстоянием нет. Билетов с большим расстоянием тоже нет, поэтому эти четыре билета и только они являются совершенно несчастливыми.

Примеры
Входные данные
2

Выходные данные
4
0050
0051
9948
9949

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Мальчик Влад недавно побывал в Японии и привёз оттуда новую жевательную резинку. Вернувшись в университет после поездки, на первой же паре Влад раздал жвачку всем своим \((N-1)\) однокурсникам и взял одну себе. Дождавшись момента, когда лектор отвернулся к доске, на счёт “три-четыре” все \(N\) студентов дружно начали надувать пузыри. Известно, что \(i\)-й студент надувает пузырь до максимально возможного размера за время \(t_i\), после чего пузырь мгновенно лопается, и студент начинает надувать пузырь заново с той же скоростью.

Всё это время преподаватель настолько увлечён тонкостями квантового математического анализа, что не слышит ничего происходящего в аудитории. И только когда все \(N\) пузырей лопнут одновременно, преподаватель услышит шум и обернётся. И уж тогда студентам достанется, а больше всех тому, кто принёс на пару \(N\) жевательных резинок.

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

Например, если \(N=2\), \(t_1=2\), \(t_2=3\), то будет происходить следующее:

Первый студент надувает пузырь с момента времени \(t=0\) до момента времени \(t=2\), потом пузырь лопается, и он надувает пузырь заново — с момента времени \(t=2\) до момента времени \(t=4\), а потом ещё раз — с момента времени \(t=4\) до \(t=6\).

Второй студент надувает пузырь с \(t=0\) до \(t=3\) и ещё раз с \(t=3\) до \(t=6\).

В момент \(t=6\) пузыри лопаются одновременно у обоих студентов, преподаватель оборачивается и говорит: “Всё, Влад! Ты меня достал!”.

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

На первой строке входного файла находится одно целое число \(N\) — количество студентов (\(1\leq N \leq 10\,000\)). Следующие \(N\) строк содержат по одному целому числу \(t_1\), \(t_2\), ..., \(t_N\). Гарантируется, что \(1\leq t_i \leq 1000\).

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

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

Примеры
Входные данные
2
2
3
Выходные данные
6

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

Входные данные
2
16
1
Выходные данные
16

Входные данные
3
627
182
85
Выходные данные
9699690

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

У мальчика Васи есть \(N\) шоколадок (возможно, разного веса). Вася пригласил к себе в гости \(K\) своих друзей и хочет подарить им шоколадки. Чтобы никому из друзей не было обидно, Вася решил раздать шоколадки так, чтобы каждому другу досталось одно и то же количество шоколада (т.е. суммарный вес шоколадок, доставшихся каждому другу, должен быть одинаковым). Вася может раздать все свои шоколадки, может раздать лишь часть, но, поскольку он — очень гостеприимный мальчик, он не хочет оставлять друзей совсем без шоколада (т.е. сумма весов шоколадок, доставшихся каждому другу, должна быть строго положительной). Все шоколадки красиво упакованы, т.е. делить их на части нельзя.

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

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

В первой строке входного файла находятся два натуральных числа \(N\) и \(K\) (\(1 \leq N \leq 15\), \(1 \leq K \leq 15\)) — количество шоколадок у Васи и количество друзей, которых Вася пригласил в гости. Во второй строке содержатся \(N\) натуральных чисел — веса шоколадок. Ни один из весов не превосходит \(1000\).

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

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

Примечание

Во втором примере возможные распределения шоколадок следующие:

  1. Первому другу дать шоколадку номер 1, второму — номер 2;
  2. Первому другу дать шоколадку номер 2, второму — номер 1;
  3. Первому другу дать шоколадку номер 3, второму — шоколадки номер 1 и 2;
  4. Первому другу дать шоколадки номер 1 и 2, второму — номер 3.

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

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

Входные данные
3 2
1 1 2

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

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Капитаны Флинт и Джек Воробей нашли клад и хотят поделить его. Клад находится в шкатулке и состоит из чётного числа драгоценных камней. Капитан Флинт оценил \(i\)-ый камень в \(a_i\) пиастров, а Джек Воробей — в \(b_i\) долларов. Теперь они действуют следующим образом. Джек Воробей достаёт из шкатулки два камня, после чего Флинт забирает себе один из них (естественно, тот, у которого больше \(a_i\)). Оставшийся камень достаётся Воробью. После этого Джек Воробей достаёт ещё пару камней, и так далее: каждым ходом Воробей достает из шкатулки два камня, Флинт забирает себе камень с большим \(a_i\), оставшийся камень достается Воробью.

Джек Воробей знает все \(a_i\), все \(b_i\), а также может, доставая очередные два камня, подглядеть в шкатулку и выбрать, какие именно камни надо доставать. Помогите ему действовать так, чтобы доля Воробья была максимально возможной (т.е. чтобы сумма \(b_i\) полученных Воробьём камней была как можно больше).

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

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

Первая строка входного файла содержит одно целое число \(N\) — количество камней в кладе. Гарантируется, что \(N\) чётное и что \(2\leq N\leq 5000\). Далее следуют две строки по \(N\) целых чисел в каждой: сначала заданы все \(a_i\), потом — все \(b_i\). Гарантируется, что все \(a_i\) различны (т.е. что действия Флинта всегда однозначно определены). Гарантируется, что все \(a_i\) и все \(b_i\) положительны и не превосходят \(400\,000\).

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

В выходной файл выведите \(N/2\) строк по два числа в каждой — пары камней, в том порядке, как их должен доставать из шкатулки Джек Воробей. Камни нумеруются начиная с 1.

Числа в пределах каждой пары можете выводить в произвольном порядке. Если есть несколько оптимальных решений, выводите любое.

Примечание

Среди тестов будут такие, в которых каждый камень оба капитана оценивают одинаково: \(a_i=b_i\) для каждого \(i\) (как во втором тесте из примера); суммарная стоимость таких тестов будет 40 баллов.

Примеры
Входные данные
6
6 10 11 18 5 14
1 7 6 12 15 16

Выходные данные
5 1
2 3
6 4

Входные данные
6
6 44 2 43 7 48
6 44 2 43 7 48

Выходные данные
3 1
5 4
2 6

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

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

Поскольку вы не хотите смерти Индианы и хотите получить свою долю сокровищ, вам придется помочь ему!

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

В первой строке входного файла содержится одно целое число n (1 ≤ n ≤ 100). В следующих n строках описан сам треугольник. Строка входного файла, имеющая номер i + 1, содержит 2i - 1 цифру — содержание i-й строки ключа-треугольника.

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

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

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

Примечание

Решения, которые обрабатывают поворот только в одну сторону, будут оцениваться из 50 баллов.

Примеры
Входные данные
3
1
2 3 4
5 6 7 8 9
counterclockwise
Выходные данные
9 
4 8 7 
1 3 2 6 5 
Входные данные
3
1
2 3 4
5 6 7 8 9
clockwise
Выходные данные
5 
7 6 2 
9 8 4 3 1 

Страница: << 99 100 101 102 103 104 105 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест