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
Коментарі