Quản Lý Mức Lương
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Bộ phận nhân sự của tập đoàn nơi Bob làm việc cần quản lý mức lương của \(N\) nhân viên. Mỗi nhân viên \(i\) ban đầu có một mức lương là \(A_i\). Để đảm bảo chính sách bảo mật và báo cáo quỹ lương hợp lý, Bob cần thực hiện \(Q\) truy vấn thuộc hai loại:
1 pos val: Cập nhật mức lương của nhân viên tại vị trí \(pos\) thành giá trị mới là \(val\).2 min_val max_val: Đếm xem có bao nhiêu nhân viên hiện tại đang có mức lương nằm trong khoảng từ \(min\_val\) đến \(max\_val\).
Hãy giúp Bob viết chương trình xử lý nhanh các truy vấn này.
Đị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 \(a_1, a_2, \dots, a_N\) là mức lương ban đầu của các nhân viên (\(1 \le a_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng mô tả một truy vấn thuộc một trong hai loại trên (\(1 \le pos \le N\), \(1 \le val, min\_val, max\_val \le 10^9\)).
Định dạng đầu ra
- Với mỗi truy vấn loại
2, in ra số lượng nhân viên thỏa mãn trên một dòng.
Ví dụ
Input:
5 4
10 20 30 40 50
2 15 45
1 3 15
2 15 45
2 5 12
Output:
3
3
1
Nhận xét