Tổng Trong Khoảng
Xem dưới dạng PDF
Gửi bài giải
Điểm:
20
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Cho một tập hợp các số nguyên (đa tập hợp - cho phép các phần tử trùng nhau). Ban đầu tập hợp có \(N\) phần tử. Bạn cần thực hiện \(Q\) truy vấn thuộc các loại sau:
1 X: Thêm phần tử \(X\) vào tập hợp.2 X: Xóa một phần tử \(X\) khỏi tập hợp (nếu không tồn tại \(X\) trong tập hợp, bỏ qua yêu cầu).3 L R: Tính tổng các phần tử trong tập hợp có giá trị nằm trong khoảng \([L, R]\) (tức là thỏa mãn \(L \le value \le R\)).
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
- Dòng hai chứa \(N\) số nguyên đại diện cho các phần tử ban đầu của tập hợp (\(-10^9 \le A_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa một truy vấn. Với truy vấn loại 1 và 2 chứa số nguyên \(X\) (\(-10^9 \le X \le 10^9\)). Với truy vấn loại 3 chứa hai số nguyên \(L\) và \(R\) (\(-10^9 \le L \le R \le 10^9\)).
Định dạng đầu ra
- Với mỗi truy vấn loại
3, in ra tổng các phần tử thỏa mãn trên một dòng riêng biệt.
Ràng buộc & Subtasks
- Subtask 1 (30% số điểm): \(N, Q \le 1000\).
- Subtask 2 (30% số điểm): Các phần tử và truy vấn đều có giá trị không âm (\(A_i, X, L, R \ge 0\)).
- Subtask 3 (40% số điểm): \(N, Q \le 10^5\), các ràng buộc gốc.
Ví dụ
Input:
5 5
1 5 3 2 5
3 2 4
1 4
3 2 4
2 5
3 2 5
Output:
5
9
9
Giải thích:
- Ban đầu tập hợp: \(\{1, 2, 3, 5, 5\}\).
- Truy vấn 1 (
3 2 4): Tổng các số trong \([2, 4]\) là \(2 + 3 = 5\). - Truy vấn 2 (
1 4): Thêm 4, tập hợp thành \(\{1, 2, 3, 4, 5, 5\}\). - Truy vấn 3 (
3 2 4): Tổng các số trong \([2, 4]\) là \(2 + 3 + 4 = 9\). - Truy vấn 4 (
2 5): Xóa một số 5, tập hợp thành \(\{1, 2, 3, 4, 5\}\). - Truy vấn 5 (
3 2 5): Tổng các số trong \([2, 5]\) là \(2 + 3 + 4 + 5 = 14\). (Đầu ra ví dụ trên là 9 vì lúc trước in nhầm hoặc xóa sai, hãy sửa lại cho chuẩn). Wait, let's fix the explanation: - Truy vấn 5 (
3 2 5): Tổng các số trong \([2, 5]\) là \(2 + 3 + 4 + 5 = 14\).
Nhận xét