Cực đại hóa
Đề bài
Mô tả
Ban đầu bạn có một đa tập rỗng. Cần xử lý truy vấn thuộc hai loại:
1 x: thêm số nguyên dương vào . Dữ liệu đảm bảo không nhỏ hơn bất kỳ phần tử nào đang có trong , tức là các giá trị được thêm vào theo thứ tự không giảm.2: chọn một tập con khác rỗng của sao cho giá trị
là lớn nhất có thể, rồi in ra giá trị lớn nhất đó. Ở đây là phần tử lớn nhất của , còn là trung bình cộng các phần tử của .
Vì là đa tập nên cũng là đa tập: một giá trị xuất hiện lần trong có thể được lấy tối đa lần vào .
Truy vấn đầu tiên luôn thuộc loại 1, nên không bao giờ rỗng khi gặp truy vấn loại 2.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên : số lượng truy vấn.
- dòng tiếp theo, mỗi dòng mô tả một truy vấn: hoặc gồm hai số nguyên
1 x, hoặc gồm một số nguyên2.
Dữ liệu ra
Với mỗi truy vấn loại 2, in ra trên một dòng riêng giá trị lớn nhất tìm được.
Đáp án được chấp nhận nếu sai số tuyệt đối hoặc sai số tương đối so với đáp án đúng không vượt quá .
Ràng buộc
- Mỗi giá trị được thêm vào không nhỏ hơn mọi giá trị đang có trong .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 1 1 4 1 5 2 |
2.000000000 | Lúc truy vấn, . Chọn cho . Chọn cả ba phần tử chỉ cho , còn cho . Vậy đáp án là . |
| 6 1 3 2 1 4 2 1 8 2 |
0.000000000 0.500000000 3.000000000 |
Với chỉ có một tập con nên đáp án là . Với , chọn cả hai cho . Với , chọn cả ba cho . |
| 9 1 35 2 2 1 45 1 58 2 2 2 1 100 |
0.000000000 0.000000000 12.000000000 12.000000000 12.000000000 |
Hai truy vấn đầu ứng với nên đáp án là . Ba truy vấn sau ứng với : chọn cả ba cho , tốt hơn (được ). Truy vấn loại 1 cuối cùng không sinh ra dòng kết quả nào. |
Bình luận