Chiến thuật thắng cuộc
Đề bài
Mô tả
Một đội tuyển thi đấu lập trình luôn gồm đúng thành viên. Mỗi người chỉ được phép dự vòng chung kết tối đa hai lần trong đời.
Người ta thống kê được: nếu một đội có thành viên đã từng dự chung kết trước đó (và thành viên còn lại lần đầu dự thi) thì xác suất giành huy chương của đội là . Biết rằng .
Trường có nguồn sinh viên vô hạn và muốn cử đội đi thi vô hạn nhiều lần (năm ). Ở năm thứ , đội gồm thành viên đã từng dự thi (với ) và thành viên lần đầu. Sau năm đó:
- người đã từng dự thi này giờ đã dùng hết hai lần, không thể tham dự nữa.
- người lần đầu trở thành "đã từng dự thi một lần", có thể được dùng cho các năm sau.
Nói cách khác, mỗi năm ta tiêu thụ người thuộc kho "đã dự một lần" và bổ sung người mới vào kho đó; kho này không bao giờ được âm.
Hãy chọn dãy chiến thuật sao cho giới hạn xác suất trung bình giành huy chương mỗi năm
tồn tại và đạt giá trị lớn nhất. In ra giá trị lớn nhất đó.
Dữ liệu vào
- Dòng đầu chứa số nguyên .
- Dòng thứ hai chứa số thực (mỗi số có không quá 6 chữ số sau dấu chấm), thỏa mãn với mọi .
Dữ liệu ra
- In ra một số thực: giá trị lớn nhất khi dùng chiến thuật tối ưu. Kết quả được chấp nhận nếu sai số tuyệt đối hoặc tương đối không vượt quá .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 0.115590 0.384031 0.443128 0.562356 |
0.4286122500 | Xen kẽ hai chiến thuật và : năm dùng sinh ra người mới, năm dùng tiêu thụ 3 người. Trung bình cân bằng cho . |
| 3 1 1 1 1 |
1.0000000000 | Mọi nên bất kể chiến thuật nào cũng luôn thắng, . |
Bình luận