Страница: << 82 83 84 85 86 87 88 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

А что будет, если Маринка в задаче \(H\) накроет все разбросанные диски только одной салфеткой? Конечно, салфетку она должна выбрать минимально возможного размера!

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

В первой строке входного файла записаны четыре целых числа:

\(X\), \(Y\) — размеры стола по горизонтали и вертикали (\(0\) < \(X\), \(Y\) ≤ \(1000\)),

\(R\) - радиус одного диска DVD (\(0\) < \(R\) ≤ \(1000\)),

\(N\) - количество дисков на столе (\(0\) ≤ \(N\) ≤ \(1000\)).

Далее следуют \(N\) строк, каждая из которых содержит \(x[i]\), \(y[i]\) - целые координаты центров дисков. Гарантируется, что диски полностью находятся на столе и не свисают за край стола.

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

Выведите площадь стола, свободную от одного прямоугольного листа, накрывающего все диски.

Примеры
Входные данные
10 10 1 3
1 1
2 8
6 4
Выходные данные
37
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
6 megabytes

У одного из меломанов, участвующих в подготовке этой олимпиады, любимой группой так и остаётся ABBA (да простят его некоторые участники, предпочитающие что-нибудь «потяжелее»). Соответственно, когда речь заходит о примерах различных алгоритмов на строках, он в первую очередь составляет строки из двух букв a и b.

Собственно из анализа таких примеров и родилась следующая задача. Пусть мы хотим прочитать в строке буквосочетание ab. При этом a и b не обязательно должны стоять подряд, достаточно, чтобы a встречалось в строке раньше, чем b. Как составить строку минимально возможной длины, чтобы это буквосочетание можно было прочитать ровно K способами? Например, в строке abba это буквосочетание можно прочитать дважды, но эта строка не будет самой короткой для K = 2, а в строке abab его можно прочитать три раза, и более короткую строку для K = 3 составить нельзя.

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

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

Входные данные содержат только одно натуральное число K (1 ≤ K ≤ 109).

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

Выведите строку, удовлетворяющую условию задачи, или слово «Impossible», если искомую строку составить невозможно. Если искомых строк минимальной длины несколько, то выведите любую из них.

Примеры тестов

Входные данные
1
Выходные данные
ab
Входные данные
3
Выходные данные
abab

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

Учительница по программированию задала Вовочке задачу — отсортировать массив из N чисел от 1 до N по возрастанию :). Вовочка поступает так: он просматривает массив слева направо, и, если замечает два элемента, стоящих рядом, таких, что правый меньше левого, он меняет их местами. Так он поступает, пока массив не будет отсортирован. Но Вовочка — очень ленивый ученик. В какой-то момент ему надоело сортировать числа, и он решил посчитать, сколько ещё описанных выше обменов нужно сделать. Помогите ему.

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

В первой строке входного файла находится натуральное число N (1 ≤ N ≤ 1 000 000). Во второй строке через пробел находятся N различных целых чисел, каждое из которых не меньше 1 и не больше N.

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

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

Примеры тестов

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

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

От некоторых школ в командной олимпиаде по информатике участвует очень много команд. Учитель одной из таких школ раздал для регистрации своим командам номера: 1, 2, 3 и т. д. Для того чтобы проверить, все ли команды зарегистрировались, учитель выписал из таблицы регистрации только номера команд своей школы, но в том порядке, в котором команды регистрировались.

После нелёгких подсчётов оказалось, что зарегистрировались все. Но в процессе решения этой задачи учитель сформулировал следующую: сколькими способами можно выбрать стоящие подряд в этом списке K номеров команд, чтобы они образовывали некоторую перестановку чисел от 1 до K? Например, если от школы участвуют всего три команды, то при порядке регистрации 3 1 2 таких способов будет три (для K = 1, 2, 3), а при регистрации в порядке 2 3 1 — всего два (для K = 1 и K = 3).

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

В первой строке входных данных находится одно число N (1 ≤ N ≤ 1 000 000) — количество команд, участвующих в олимпиаде от этой школы. Во второй строке находятся N натуральных чисел от 1 до N в том порядке, в котором команды регистрировались на олимпиаду.

Гарантируется, что каждое число встречается в этой строке ровно один раз.

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

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

Примеры тестов

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

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

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

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

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

Государственная антимонопольная служба возбудила расследование против крупной авиакомпании «Aero-float». Ей предъявлено обвинение в излишней неэкономности. Джонни было поручено проинспектировать «Aero-float» в целях обнаружения финансовых махинаций, но авиакомпания отказалась раскрывать полный список выполняемых ею прямых рейсов. После продолжительных переговоров руководство компании согласилось сообщить Джонни информацию о минимально возможной продолжительности перелёта между каждой парой городов, если использовать только прямые рейсы «Aero-float» и не учитывать время, затрачиваемое на пересадки.

Используя эту информацию, помогите Джонни установить: может ли компания «Aero-float» быть экономной или нет? Более формально, установите, существует ли набор рейсов, при котором длины кратчайших маршрутов именно такие, как было сообщено Джонни, и при котором компания является экономной?

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

Ваша программа должна будет обработать несколько наборов входных данных. В первой строке входного файла идёт их количество C (1 ≤ C ≤ 1 500). Далее идут C блоков входных данных в следующем формате.

В первой строке блока находится единственное целое число N (2 ≤ N ≤ 1500) — количество городов в стране.

Далее идут N строк по N целых чисел Ti, j (1 ≤ Ti, j ≤ 1 000 000): j-е число в i-й строке равняется минимальному времени в часах, требуемому на перемещение из i-го города в j-й без учёта времени, затрачиваемого на пересадки.

Гарантируется, что предоставленная информация корректна, то есть существует некоторый набор рейсов, который соответствует данному набору чисел Ti, j.

Сумма квадратов N по всем наборам входных данных не превосходит 2 250 000.

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

Для каждого набора входных данных выведите «YES», если компания «Aero-float» может являться экономной, или «NO» в противном случае.

Примеры тестов

Входные данные
2
5
0 5 4 8 7
5 0 1 3 2
4 1 0 4 3
8 3 4 0 5
7 2 3 5 0
3
0 2 2
2 0 2
2 2 0
Выходные данные
YES
NO

Примечание

Для первого набора ниже приведён возможный вариант предлагаемых компанией маршрутов, при котором она является экономной. На рисунке отрезками соединены те пары городов, между которыми есть прямые рейсы, над каждым отрезком указана продолжительность соответствующего рейса.


Страница: << 82 83 84 85 86 87 88 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест