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

Задача . F. Случайный запрос


Дан массив a размера n, состоящий из натуральных чисел. Случайно, равновероятно и независимо выбираются два целых числа l и r из отрезка с 1 по n. Если l > r, то значения l и r меняются местами. Найдите матожидание количества различных чисел на подотрезке массива с индекса l по индекс r включительно (в 1-индексации).

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

В первой строке задаётся целое число n (1 ≤ n ≤ 106). Во второй строке заданы n чисел a1, a2, ... an (1 ≤ ai ≤ 106) — элементы массива.

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

Выведите одно число — матожидание количества различных чисел.

Ваш ответ будет засчитан, если его абсолютная или относительная ошибка не будет превосходить 10 - 4 — т. е., формально, если , где x — ответ жюри, а y — ответ, который выдаёт ваша программа.


Примеры
Входные данныеВыходные данные
1 2
1 2
1.500000
2 2
2 2
1.000000

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

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