10711: Суші


Відправити розв'язок

Бали: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Brain****, C++, Java, Pascal, Python, v8js

Є \(N\) страв. Страва \(i\) має \(Ai\) (\(1 \le Ai \le 3\)) шматочків суші.

Назар буде виконувати наступні операції, поки не будуть з'їдені всі шматочки суші:

  • Підкинути кубик, який показує номера від \(1\) до \(N\) з однаковими імовірностями, і нехай на кубику випало число \(X\).
    Якщо ще є шматок суші в страві номер \(X\) - з'їсти його, інакше не робити нічого.

Знайдіть очікувану кількість операцій, щоб усі шматочки суші були з'їдені.

Формат вхідних даних

В першому рядку ціле число \(N\) - кількість страв. (\(1 \le N \le 300\))
В наступому рядку \(N\) цілих чисел \(Ai\) - кількість шматочків суші кожного виду (\(1 \le Ai \le 3\))

Формат вихідних даних

Виведіть очікувану кількість операцій з відносною похибкою не більше ніж \(10^{-9}\)

Приклад вхідних даних-1

3
1 1 1

Приклад вихідних даних-1

5.5

Пояснення до прикладу-1

Очікувана кількість операцій, після якого буде з'їдено перший раз якийсь шматок суші = 1
Після цього очікувана кількість операцій, після яких буде з'їдено другий шматок суші = 1.5
Після цього очікувана кількість операцій, після яких буде з'їдено третій шматок суші = 3
Загальна очікувана кількість операцій 1+1.5+3=5.5

Приклад вхідних даних-2

1
3

Приклад вихідних даних-2

3

Приклад вхідних даних-3

2
1 2

Приклад вихідних даних-3

4.5

Приклад вхідних даних-4

10
1 3 2 3 3 2 3 2 1 3

Приклад вихідних даних-4

54.48064457488221

Коментарі

Ще немає коментарів.