trang chủ / bài tập / nametune

Đoán tên bài hát

Đề bài

Mô tả

Bạn tham gia một trò chơi đoán tên bài hát. Có n bài hát được phát lần lượt theo đúng thứ tự 1,2,,n: ngay khi bạn đoán đúng tên một bài hát, bài hát kế tiếp trong danh sách được phát ngay lập tức.

Bài hát thứ iđộ nhận biết pi phần trăm và mốc điệp khúc ti giây. Trong khi bài hát thứ i đang phát mà bạn chưa đoán ra tên nó, cứ nghe thêm đúng một giây nữa thì bạn đoán đúng tên bài hát với xác suất pi phần trăm; nếu không đoán được, bạn tiếp tục nghe. Bạn chỉ có thể thử đoán tại những thời điểm cách lúc bài hát bắt đầu một số nguyên giây.

Ngoài ra, lời đầu tiên của điệp khúc mỗi bài trùng với tên bài hát, nên ngay khi nghe hết ti giây đầu của bài hát thứ i thì bạn chắc chắn đoán đúng tên của nó.

Trò chơi kéo dài đúng T giây: lần đoán cuối cùng có thể diễn ra tại giây thứ T, sau đó trò chơi dừng. Nếu cả n bài hát đều được đoán ra trước khi hết T giây thì trò chơi dừng ngay sau bài hát cuối cùng.

Hãy tính kỳ vọng số bài hát bạn đoán được.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nT.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên piti.

Dữ liệu ra

Một số thực duy nhất là kỳ vọng số bài hát đoán được. Đáp án được chấp nhận nếu sai số tuyệt đối hoặc sai số tương đối so với đáp án đúng không vượt quá 106.

Ràng buộc

  • 1n5000
  • 1T5000
  • 0pi100
  • 1tiT

Ví dụ

Input Output Giải thích
2 2
50 2
10 1
1.500000000 Bài 1 được đoán ở giây 1 với xác suất 0,5, ngược lại điệp khúc ở giây 2 giúp đoán chắc chắn, nên bài 1 luôn được tính. Bài 2 chỉ kịp phát nếu bài 1 kết thúc ở giây 1 (xác suất 0,5); khi đó t2=1 nên nó chắc chắn được đoán ở giây 2. Kỳ vọng =1+0,5=1,5.
3 3
50 3
50 2
25 2
1.687500000 Bài 1 kết thúc ở giây 1, 2, 3 với xác suất lần lượt 0,5; 0,25; 0,25. Bài 2 được đoán với xác suất 0,5+0,25·0,5=0,625, bài 3 chỉ kịp khi bài 1 kết thúc ở giây 1 và bài 2 ở giây 2, rồi đoán trúng ở giây 3: 0,5·0,5·0,25=0,0625.
2 2
0 2
100 2
1.000000000 p1=0 nên bài 1 chỉ được đoán nhờ điệp khúc, đúng vào giây 2. Trò chơi dừng ngay tại đó nên bài 2 không kịp phát, dù p2=100.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0