Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, OCaml, Output, Pascal, PHP, Prolog, Python, Ruby, Rust, Scala, Swift
Điểm: 1 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

\(N\) người đánh số từ \(1\) đến \(N\). Bạn có một chiếc bánh siêu to khổng lổ (quà của Bà Tân Vlog) và thực hiện \(M\) thao tác. Ở thao tác thứ \(i\) \((1 \le i \le M)\), bạn sẽ chia cho người \(a_i\) một lượng \(p_i\%\) chiếc bánh.

Sau \(M\) thao tác, mỗi nhận nhận được bao nhiêu phần bánh ?

Ràng buộc

  • \(1 \le a_i \le N \le 100\)
  • \(1 \le M \le 100\)
  • \(1 \le p_i \le 100\)

Dữ liệu

  • Dòng đầu chứa hai số nguyên dương \(N\)\(M\)
  • \(M\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên dương \(a_i\)\(p_i\).

Kết quả

  • Gồm \(N\) dòng, dòng thứ \(i\) là tổng số bánh mà người \(i\) nhận được, làm tròn đến \(6\) chữ số sau dấu thập phân.

Example input

3 3
3 13
1 90
3 95

Example output

0.783000
0.000000
0.212650

Giải thích test 1

Ban đầu xem toàn bộ cái bánh là \(1.0\)

  • Thao tác thứ \(1\): người \(3\) nhận được \(1.0 \times 0.13=0.13\) phần bánh, còn lại \(1.0-0.13=0.87\) phần bánh.
  • Thao tác thứ \(2\): người \(1\) nhận được \(0.87 \times 0.90=0.783\) phần bánh, còn lại \(0.87-0.783=0.087\) phần bánh
  • Thao tác thứ \(3\): người \(3\) nhận được \(0.087 \times 0.95=0.08265\) phần bánh.

Chung quy lại, người \(1\)\(0.13\) phần bánh, người \(2\)\(0\) phần bánh (chia bánh hơi bất công tí), người \(3\)\(0.13+0.08265=0.21265\) chiếc bánh.

Example input 2

3 5
2 20
3 50
1 40
2 30
3 20

Example output 2

0.160000
0.272000
0.433600

Nguồn: DMOJ


Bình luận