---> 59 задач <---
Страница: << 1 2 3 4 5 6 7 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Задан порядок применения сортировок по столбцам в электронной таблице. Требуется минимизировать количество применений сортировки, чтобы окончательный результат не изменился.

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

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

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

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

В первой строке вводится одно число N – количество сортировок, которые сделал Вася (1 ≤ N ≤ 106).  Во второй строке содержатся N натуральных чисел, не превосходящих 105 – номера столбцов, по которым осуществлялась сортировка, в том порядке, в котором Вася это делал. Среди чисел могут быть равные.

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

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

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

Дано натуральное четырехзначное число. Найдите минимальное натуральное четырехзначное число, состоящее из тех же цифр, что и заданное. Заметим, что четырехзначные числа не могут начинаться с нуля.

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

Вводится натуральное четырехзначное число.

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

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

Примеры
Входные данные
1513
Выходные данные
1135
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

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

В первой строке вводится количество ящиков – натуральное число, не превышающее 100. В следующих строках вводятся размеры ящиков: в каждой строке вводятся три натуральных числа, не превышающие 101 – размеры очередного ящика.

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

Требуется вывести ящики от внутреннего к внешнему.Про каждый вывести в отдельной строке его размеры в том же порядке, в котором они были указаны при вводе.

Примеры
Входные данные
3
2 2 2
2 1 2
1 1 1
Выходные данные
1 1 1
2 1 2
2 2 2
Входные данные
2
100 100 100
101 1 1
Выходные данные
101 1 1
100 100 100
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Дано N чисел. Требуется выбрать подмножество с максимальной суммой так, чтобы максимальный элемент подмножества не превосходил суммы двух минимальных.

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

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

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

В первой строке входного файла записано целое число \(N\) (\(1 \le N \le 30\,000\)). В последующих \(N\) строках записано по одному целому числу \(P_i\) (\(0 \le P_i \le 60\,000\)), представляющему собой ПП соответствующего игрока.

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

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

Примеры
Входные данные
4
1
5
3
3
Выходные данные
3 11
3
4
2
Входные данные
5 
100
20
20
20
20
Выходные данные
2 120
2
1
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Дано время прихода и ухода покупателей из супермаркета. Каждый покупатель должен увидеть как минимум два рекламных объявления. Необходимо найти минимальный набор моментов трансляции объявлений.

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

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

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

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

Во входном файле записано сначала число Nколичество покупателей, посетивших супермаркет за день(1N3000). Затем идет N пар натуральных чисел Ai, Bi, задающих соответственно время прихода и время ухода покупателей из супермаркета (0<Ai<Bi<106).

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

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

Если решений несколько, выведите любое из них.

Примеры
Входные данные
5
1 10
10 12
1 10
1 10
23 24
Выходные данные
5
5 10 12 23 24

Страница: << 1 2 3 4 5 6 7 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест