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

Có \(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\) và \(M\)
  • \(M\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên dương \(a_i\) và \(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\) có \(0.13\) phần bánh, người \(2\) có \(0\) phần bánh (chia bánh hơi bất công tí), người \(3\) có \(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 (3)

Mới nhất
Tải bình luận...