JOI 2022 - Let's Win the Election
Xem PDFNước JOI gồm \(N\) bang được đánh số từ \(1\) đến \(N\). Năm 2022, nước này tổ chức bầu cử tổng thống. Việc bỏ phiếu được thực hiện tại từng bang; ứng viên thắng tại một bang sẽ nhận được một phiếu bầu được phân bổ cho bang đó.
Rie là một ứng viên tổng thống. Để giành chiến thắng, cô quyết định đi diễn thuyết tại các bang. Việc diễn thuyết đem lại những kết quả sau:
- Khi tổng thời gian diễn thuyết tại bang \(i\) đạt \(A_i\) giờ, cô nhận được phiếu bầu của bang đó.
- Khi tổng thời gian diễn thuyết tại bang \(i\) đạt \(B_i\) giờ, cô có thêm một cộng tác viên từ bang đó. Cộng tác viên cũng có thể diễn thuyết, giúp tăng tổng thời gian diễn thuyết. Tuy nhiên, một số bang không cung cấp cộng tác viên dù diễn thuyết bao lâu; khi đó, đầu vào cho \(B_i=-1\). Mỗi bang có nhiều nhất một cộng tác viên có thể tham gia.
Cộng tác viên đến từ bang \(i\) có thể diễn thuyết tại bất kỳ bang nào. Trong một bang, nhiều người có thể diễn thuyết đồng thời, và thời gian của tất cả những người đó được cộng lại. Ví dụ, nếu hai người cùng diễn thuyết trong \(x\) giờ, tổng thời gian diễn thuyết tại bang đó tăng \(2x\) giờ. Thời gian diễn thuyết không nhất thiết là số nguyên. Thời gian di chuyển giữa các bang nhỏ đến mức có thể bỏ qua.
Ngày bầu cử đã đến gần, nên Rie muốn nhận được phiếu bầu của \(K\) bang nhanh nhất có thể. Cho thông tin về các bang, hãy tính thời gian ngắn nhất cần thiết để nhận được phiếu bầu của \(K\) bang.
Dữ liệu vào
Dữ liệu được cho từ đầu vào chuẩn:
- Dòng đầu chứa \(N\).
- Dòng thứ hai chứa \(K\).
- \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(A_i\) và \(B_i\).
Tất cả các giá trị đầu vào đều là số nguyên.
Dữ liệu ra
In ra một dòng chứa thời gian ngắn nhất, tính bằng giờ, để nhận được phiếu bầu của \(K\) bang. Đáp án được chấp nhận nếu sai số tuyệt đối không vượt quá \(0.01\).
Chỉ được dùng một trong các cách viết sau, không dùng ký hiệu số mũ:
- Số nguyên, chẳng hạn
123,0,-2022. - Một số nguyên, dấu chấm
.và một dãy chữ số từ0đến9, viết liền nhau không có khoảng trắng. Không giới hạn số chữ số sau dấu chấm thập phân. Ví dụ:123.4,-123.00,0.00288.
Các dạng như 1.23456e+05 hoặc 1.23456e5 không được phép.
Ràng buộc
- \(1 \le N \le 500\).
- \(1 \le K \le N\).
- \(1 \le A_i \le 1000\) với mọi \(1 \le i \le N\).
- Với mỗi \(1 \le i \le N\), hoặc \(A_i \le B_i \le 1000\), hoặc \(B_i=-1\).
Phân nhóm
- Nhóm 1 (5 điểm): \(B_i=-1\) với mọi \(1 \le i \le N\).
- Nhóm 2 (5 điểm): \(B_i=-1\) hoặc \(B_i=A_i\) với mọi \(1 \le i \le N\).
- Nhóm 3 (11 điểm): \(N \le 7\).
- Nhóm 4 (12 điểm): \(N \le 20\).
- Nhóm 5 (33 điểm): \(N \le 100\).
- Nhóm 6 (11 điểm): \(K=N\).
- Nhóm 7 (23 điểm): Không có ràng buộc bổ sung.
Ví dụ
Ví dụ 1
Input
3
3
1 5
2 3
4 5
Output
5.500000000000000
Note
Có thể nhận được phiếu của tất cả các bang trong \(5.5\) giờ như sau:
- Rie diễn thuyết tại bang 2 trong \(2\) giờ và nhận được phiếu của bang này.
- Rie diễn thuyết thêm \(1\) giờ tại bang 2 và có được một cộng tác viên.
- Rie và cộng tác viên cùng diễn thuyết tại bang 3 trong \(2\) giờ và nhận được phiếu của bang này.
- Rie và cộng tác viên cùng diễn thuyết tại bang 1 trong \(0.5\) giờ và nhận được phiếu của bang này.
Ví dụ này thỏa mãn ràng buộc của các nhóm \(3\), \(4\), \(5\), \(6\), \(7\).
Ví dụ 2
Input
7
4
4 -1
11 -1
6 -1
12 -1
36 -1
11 -1
20 -1
Output
32.000000000000000
Note
Có thể nhận được phiếu của \(4\) bang trong \(32\) giờ như sau:
- Rie diễn thuyết tại bang 1 trong \(4\) giờ và nhận được phiếu của bang này.
- Rie diễn thuyết tại bang 2 trong \(11\) giờ và nhận được phiếu của bang này.
- Rie diễn thuyết tại bang 3 trong \(6\) giờ và nhận được phiếu của bang này.
- Rie diễn thuyết tại bang 6 trong \(11\) giờ và nhận được phiếu của bang này.
Ví dụ này thỏa mãn ràng buộc của các nhóm \(1\), \(2\), \(3\), \(4\), \(5\), \(7\).
Ví dụ 3
Input
5
3
4 -1
5 -1
6 -1
7 7
8 8
Output
11.500000000000000
Note
Có thể nhận được phiếu của \(3\) bang trong \(11.5\) giờ như sau:
- Rie diễn thuyết tại bang 4 trong \(7\) giờ, nhận được phiếu của bang này và một cộng tác viên.
- Rie diễn thuyết tại bang 1 trong \(4\) giờ và nhận được phiếu của bang này. Đồng thời, cộng tác viên diễn thuyết tại bang 2 trong \(4\) giờ.
- Rie và cộng tác viên cùng diễn thuyết tại bang 2 trong \(0.5\) giờ và nhận được phiếu của bang này.
Ví dụ này thỏa mãn ràng buộc của các nhóm \(2\), \(3\), \(4\), \(5\), \(7\).
Ví dụ 4
Input
7
5
28 36
11 57
20 35
19 27
31 33
25 56
38 51
Output
62.166666666666664
Note
Ví dụ này thỏa mãn ràng buộc của các nhóm \(3\), \(4\), \(5\), \(7\).
Ví dụ 5
Input
20
14
106 277
175 217
170 227
164 245
118 254
139 261
142 270
185 200
162 241
153 239
128 264
103 299
147 248
158 236
160 232
183 205
194 197
135 260
153 234
128 260
Output
644.203571428571422
Note
Ví dụ này thỏa mãn ràng buộc của các nhóm \(4\), \(5\), \(7\).
Nguồn
JOI 2021/2022, vòng chung kết, ngày 13/02/2022. Đề gốc của Ủy ban Olympic Tin học Nhật Bản: tiếng Nhật, tiếng Anh. Bản dịch theo giấy phép CC BY-SA 4.0.
Kỳ thi:
- JOI 2022 - Vòng chung kết quốc gia (13 Tháng 2., 2022)
Bình luận