Олимпиадный тренинг

Задача . D. Казак Вус и числа


У Казака Вуса есть \(n\) действительных чисел \(a_i\). Известно, что сумма всех чисел равна \(0\). Он хочет найти такую последовательность \(b\) из \(n\) чисел, что сумма всех чисел равна \(0\) и каждое \(b_i\) равно либо \(\lfloor a_i \rfloor\), либо \(\lceil a_i \rceil\). Другими словами, \(b_i\) равно \(a_i\) округленному либо вверх, либо вниз. Необязательно округлять к ближайшему целому числу.

Например, если \(a = [4.58413, 1.22491, -2.10517, -3.70387]\), то \(b\) может быть, например, \([4, 2, -2, -4]\).

Обратите внимание, что если \(a_i\) целое, то нет разницы между операциями \(\lfloor a_i \rfloor\) и \(\lceil a_i \rceil\), \(b_i\) всегда будет равно \(a_i\).

Помогите Казаку Вусу найти такую последовательность!

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

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 10^5\)) — количество чисел.

Каждая из следующих \(n\) строк содержит одно вещественное число \(a_i\) (\(|a_i| < 10^5\)). Гарантируется, что у каждого \(a_i\) ровно \(5\) цифр после запятой. Гарантируется, что сумма всех чисел равна \(0\).

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

В каждой из следующих \(n\) строк выведите по одному целому числу \(b_i\). Для каждого \(i\), должно исполняться условие \(|a_i-b_i|<1\).

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

Примечание

Первый пример объяснен в условии.

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


Примеры
Входные данныеВыходные данные
1 4
4.58413
1.22491
-2.10517
-3.70387
4
2
-2
-4
2 5
-6.32509
3.30066
-0.93878
2.00000
1.96321
-6
3
-1
2
2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя