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

Không có ý kiến tại thời điểm này.