Danh Sách Phát

Đề bài

Mô tả

Bạn nhận được n bài hát và sắp chúng vào một danh sách phát theo một thứ tự nào đó, sau đó nghe lần lượt theo quy trình sau:

  • Nghe một bài hát. Nếu thích bài đó, bạn ghi nhớ nó rồi chuyển sang bài chưa nghe tiếp theo.
  • Nếu không thích, bạn nghe lại toàn bộ những bài đã thích tính đến thời điểm hiện tại (theo đúng thứ tự chúng xuất hiện), rồi mới chuyển sang bài chưa nghe tiếp theo.

Một khi đã thích một bài, ở những lần nghe lại về sau bạn vẫn luôn thích nó (trạng thái thích không thay đổi).

Bài hát thứ i dài li giây và bạn sẽ thích nó với xác suất pi phần trăm (độc lập giữa các bài). Vì có thể sắp các bài theo thứ tự bất kỳ, hãy tìm giá trị kỳ vọng lớn nhất của tổng thời gian nghe (tính bằng giây) cho tới khi quá trình kết thúc, lấy trên mọi hoán vị của danh sách phát.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số bài hát.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên lipi — độ dài (giây) và xác suất được thích (phần trăm) của bài hát thứ i.

Dữ liệu ra

In ra một số thực — kỳ vọng lớn nhất của tổng thời gian nghe. Đáp án được chấp nhận nếu sai số tuyệt đối hoặc tương đối không vượt quá 109.

Ràng buộc

  • 1n50000
  • 15li1000
  • 0pi100

Ví dụ

Input Output Giải thích
4
300 0
300 50
240 50
360 80
2121.000000000 Nên nghe bài dài 360 giây trước tiên, còn bài dài 300 giây chắc chắn không thích (xác suất 0) đặt xuống cuối.
3
150 20
150 50
100 50
537.500000000 Nếu nghe theo thứ tự gốc thì kỳ vọng chỉ là 467.5. Giá trị lớn nhất đạt được khi đưa bài đầu tiên xuống cuối danh sách.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0