Страница: << 1 2 3 4 Отображать по:
ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
256 megabytes

Однажды Петя узнал очень важную последовательность из $n$ чисел. Тщательно проанализировав ее, он обнаружил, что она является арифметической прогрессией. Чтобы не забыть он записал ее элементы на $n$ карточках.

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

Теперь Петя хочет восстановить исходную последовательность по этим карточкам. К сожалению возможно, что это можно сделать несколькими способами, но Петю устроят любые $n$ чисел, образующие арифметическую прогрессию.

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

Напомним что последовательность $a_1, a_2, \ldots, a_n$ называется арифметической прогрессией, если $a_i = a_{i-1} + d$ для всех $i$ от 2 до $n$ и некоторого $d$. Число $d$ называется разностью арифметической прогрессии.

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

В первой строке входного файла находится целое число $n$ ($1 \le n \le 100\,000$). В следующей строке находится $2n$ целых чисел по модулю не превосходящих $10^9$ — числа, написанные на карточках, перечисленные в произвольном порядке. Гарантируется, что можно выбрать $n$ из них так, чтобы они образовывали арифметическую прогрессию.

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

В первой строке выходного файла выведите $a_1$ и $d$ — первый элемент и разность найденной арифметической прогрессии. Если $d = 0$, число $a_1$ должно встречаться среди заданных чисел $n$ раз.

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

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

Спортивный программист для достижения вершин своего мастерства должен быть натренирован в совершенно разных аспектах, в том числе и физически. Кто-то для этого садится на велосипед, кто-то ныряет в бассейн, а молодой программист Влад бегает по стадиону. Но из-за неаккуратного обращения с личными вещами его секундомер может измерять время только в минутах, без указания секунд и тем более их долей.

Чтобы следить за прогрессом своего ученика, тренеру Влада приходится довольствоваться показаниями этого прибора. Каждый раз, когда Влад пробегает мимо тренера, сделав очередной круг по стадиону, тот записывает в блокнот показания секундомера в минутах. Фактически показания секундомера соответствуют целому числу минут, прошедших к определенному моменту времени. Причём, если секундомер показывает, например, 1, то это может обозначать и время ровно 2 минуты, так как 1.(9) = 2.

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

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

В первой строке входного файла находится единственное натуральное число N — количество записей в блокноте тренера (2 ≤ N ≤ 105). В следующей строке находятся сами эти записи — разделённые пробелами целые числа a1, a2, ..., aN (0 ≤ a1 ≤ a2 ≤ ... ≤ aN ≤ 106). Здесь a1 соответствует времени, когда Влад пробежал мимо тренера в первый раз.

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

Выведите два неотрицательных вещественных числа, разделённых пробелом, — минимальное и максимальное возможное количество минут, за которое спортсмен пробегал один круг. Ваш ответ должен отличаться от правильного менее чем на 10 - 3.

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

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

Входные данные
5
2 3 5 6 8
Выходные данные
1.33333 1.66667
Входные данные
5
1 6 9 14 17
Выходные данные
4 4
Входные данные
3
1 5 6
Выходные данные
No solution
Входные данные
5
1 1 2 3 3
Выходные данные
0.5 0.75

Примечание

Во втором тесте время 4 соответствует показаниям секундомера 1.(9), 6.0, 9.(9), 14.0, 17.(9).

В четвёртом примере минимальное время соответствует показаниям секундомера 1.5, 1.(9), 2.5, 3.0, 3.5, а максимальное — показаниям 1.0, 1.75, 2.5, 3.25, 3.(9).


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