Задача A. Субботник

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

В ДВФУ начался субботник. Всех студентов выстроили в ряд, чтобы определить, кто будет работать. Всего, конечно, надо выбрать как можно больше студентов, но с одним условием - все выбранные студенты должны стоять рядом. Известно, что есть прилежные студенты, которые работают хорошо, а есть такие, что только пакостят. Для каждого студента i известна его мощность - a[i]. Если a[i]>0, то он работает, если меньше - пакостит. Для набора студентов мощность этого набора будет суммарной мощностью всех студентов. Вы должны найти такой способ выбрать студентов, что они смогут выполнить всю работу (суммарная мощность будет положительна) и студентов было как можно больше, поскольку необходима массовость. Гарантируется, что найдётся хотя бы один горящий энтузиазмом студент.

Формат входного файла

В первой строке записано целое число N. Во второй строке записаны N целых чисел a[i], разделенных пробелами. Гарантируется, что хотя бы одно число положительное.

Формат выходного файла

Вывести ровно два числа, разделенных пробелом - искомые L и R. Среди возможных решений вывести то, в котором L минимально.

Ограничения

1 ≤ N ≤ 2*106, −109 ≤ a[i] ≤ 109

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

Входной файл (input.txt) Выходной файл (output.txt)
1
7
-2 0 -1 4 -1 -1 -1
2 6

Задача B. Математический недобоян

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Посчитайте сумму:

for (int i = i1; i  i2; i++) 
    for (int j = j1; j  j2; j++) 
        ans += i*j;

и выведите ответ по модулю 10^9+7.

Формат входного файла

Дано 4 числа i1, j1, i2, j2.

Формат выходного файла

Вывести ровно одно число - искомую сумму.

Ограничения

1 ≤ i 1 ≤ i 2 ≤ 109, 1 ≤ j 1 ≤ j 2 ≤ 109.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
1 1 2 3
18

Задача C. Биочипы

Автор:Жаутыковская олимпиада 2012   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:512 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

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

Формат входного файла

В первой строке входного файла находятся два целых числа N и M - количество элементов дерева и количество выбираемых биочипов. Следующие N строк содержат по два неотрицательных целых числа, разделенных пробелом: номер родителя в дереве и размер собственной памяти a[i]. Каждый биочип идентифицируется числом между 1 и N включительно, строка входного файла с номером i содержит информацию о биочипе с номером i1. Ровно один биочип не имеет родителя, в качестве номера его родителя записан 0. Входные данные таковы, что M биочипов выбрать можно.

Формат выходного файла

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

Ограничения

1 ≤ N ≤ 200000. 1 ≤ M ≤ 500. 1 ≤ a[i] ≤ 1000

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

Входной файл (input.txt) Выходной файл (output.txt)
1
7 3
2 100
0 1000
2 150
3 100
3 5
5 100
2 50
                           
300 

Задача D. Красивый ряд

Автор:Жаутыковская олимпиада 2012   Ограничение времени:3 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

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

Формат входного файла

В первой строке входного файла находится число N. В следующей строке записаны N чисел a[i].

Формат выходного файла

Выведите количество способов расположить все N чисел в красивый ряд.

Ограничения

2 ≤ N ≤ 20, 0 ≤ a[i] ≤ 109

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

Входной файл (input.txt) Выходной файл (output.txt)
1

3
5 1 6
                           
2

Задача E. Последовательность Морса-Туэ

Автор:П. Пруэ, А. Туэ, М. Морс   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Последовательность Морса-Туэ задаётся следующим образом: 1) Вначале записывается 1. 2) Каждым шагом дописывается число, дополняющее уже написанное до числа, состоящего только из единиц. 3) Получаем искомую бесконечную последовательность: 1001011001101001011010011001011001101001...

Формат входного файла

В первой строке входного файла находится число N.

Формат выходного файла

Выведите элемент последовательности Морса-Туэ с номером N.

Ограничения

1 ≤ N ≤ 1015

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

Входной файл (input.txt) Выходной файл (output.txt)
1
1
1
2
2
0

Задача F. Марсианские автобусы

Входной файл:input.txt   Ограничение времени:2 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

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

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

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

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

N - количество жителей города. M - количество автобусных маршрутов.

Формат входного файла

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

Формат выходного файла

Для каждого из N людей вывести количество подходящих маршрутов через пробел.

Ограничения

N, M 100000, все координаты от -1000000000 до 1000000000 включительно

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

Входной файл (input.txt) Выходной файл (output.txt)
1
2
1 3
2 4
3
1 1 3 3
2 2 4 4
-100 100 1024 1024
1 1
2
3
3 9
8 2
5 9
4
7 9 1 9
0 7 4 8
3 3 7 8
7 8 2 6
0 1 1
3
5
9 4
5 8
0 7
3 0
2 1
7
5 7 3 6
1 8 3 9
0 3 4 6
2 6 1 2
2 9 7 9
2 2 0 0
3 3 2 2
2 0 0 0 2

Задача G. Снеговики

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

На улице зима. N детей захотело поиграть в снеговиков. Каждый ребенок имеет свой номер 1 ≤ i ≤ N. Каждый ребенок выбирает одного из уже существующих снеговиков, строит такого же, и либо добавляет с своему какой-то снежный ком сверху, либо убирает один ком сверху, либо оставляет как есть. Каждый снеговик имеет свою высоту - это сумма радиусов всех комов, из которых он составлен. Вам нужно для каждого снеговика узнать его высоту.

Формат входного файла

В первой строке записано целое число N. В следующих N строках задано по 2 числа - p, x. p - номер уже существующего снеговика, которого выбирает ребенок, и x - как ребенок его изменяет. Будем считать, что снеговик с номером 0 - пустой, с нулевой высотой. Если x == −1 - он убирает верхний ком. x == 0 - он не изменяет снеговика. x > 0 - он кладет сверху на снеговика снежный ком радиуса x. Все запросы корректны (снеговик с номером p всегда будет существовать. Если ребенок попробует убрать верхний ком, но его нет, высота снеговика останется нулевой).

Формат выходного файла

Вывести N чисел - высоту каждого снеговика.

Ограничения

1 ≤ N ≤ 4*105, −1 ≤ x ≤ 109, 0 ≤ p ≤ i − 1

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

Входной файл (input.txt) Выходной файл (output.txt)
1
6
0 10
1 2
2 6
3 -1
2 -1
4 -1
10
12
18
12
10
10

0.362s 0.012s 25