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

Vòi Nước

Đề bài

Mô tả

Cho hệ thống gồm n vòi nước cùng chảy vào một bình chứa. Vòi thứ i có thể được điều chỉnh để cho ra một lượng nước bất kỳ trong khoảng [0,ai] ml mỗi giây (giá trị có thể là số thực). Nước do vòi i cung cấp có nhiệt độ ti.

Nếu ta đặt vòi i chảy xi ml/giây thì nhiệt độ của hỗn hợp nước trong bình bằng

i=1nxi·tii=1nxi

(quy ước nhiệt độ bằng 0 nếu tổng lượng nước bằng 0, để tránh chia cho 0).

Hãy chọn các giá trị xi sao cho nhiệt độ hỗn hợp nước đúng bằng T. Tìm lượng nước tối đa xi thu được mỗi giây. Nếu không thể đạt nhiệt độ T, đáp án bằng 0.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nT.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.
  • Dòng thứ ba chứa n số nguyên t1,t2,,tn.

Dữ liệu ra

In ra một số thực — lượng nước tối đa mỗi giây có nhiệt độ đúng bằng T.

Đáp án được chấp nhận nếu sai số tuyệt đối hoặc tương đối so với đáp án chuẩn không vượt quá 106.

Ràng buộc

  • 1n200000
  • 1T106
  • 1ai106
  • 1ti106

Ví dụ

Input Output Giải thích
2 12
1 3
10 15
1.6666666667 Vòi 1 có nhiệt độ 10<12, vòi 2 có 15>12. Chỉ dùng vòi 2 một phần cùng toàn bộ vòi 1 để cân bằng nhiệt độ.
2 100
3 10
50 150
6.0000000000 Vòi 1 (t=50) và vòi 2 (t=150). Để đạt T=100 với lượng tối đa, dùng vòi 1 toàn bộ 3 ml/s và vòi 2 đúng 3 ml/s, tổng =6.
3 9
5 5 30
6 6 10
40.0000000000 Vòi 1, 2 có t=6<9 (lạnh), vòi 3 có t=10>9 (nóng). Tổng "làm lạnh" tối đa =3·5+3·5=30, "làm nóng" tối đa =1·30=30. Hai bên cân bằng nên dùng toàn bộ ba vòi, tổng =5+5+30=40.

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