Cho một mảng vòng tròn gồm số nguyên. Bạn cần thực hiện truy vấn. Mỗi truy vấn có thể là một trong hai loại:
- Cập nhật:
inc l r v
- Tăng mỗi phần tử trong đoạn (theo chiều kim đồng hồ) lên một giá trị . Nếu , đoạn sẽ bao gồm các phần tử từ đến và từ đến .
- Truy vấn:
rmq l r
- Tìm giá trị nhỏ nhất trong đoạn (theo chiều kim đồng hồ). Tương tự, nếu , đoạn sẽ là từ đến và từ đến .
Các chỉ số của mảng là 0-based.
Dữ liệu:
- Dòng đầu tiên chứa số nguyên ().
- Dòng thứ hai chứa số nguyên ban đầu của mảng (giá trị tuyệt đối không vượt quá ).
- Dòng thứ ba chứa số nguyên ().
- dòng tiếp theo, mỗi dòng là một truy vấn.
- Truy vấn cập nhật có dạng
l r v
, với và giá trị tuyệt đối của không vượt quá .
- Truy vấn tìm min có dạng
l r
, với .
Kết quả: Với mỗi truy vấn rmq
, in ra giá trị nhỏ nhất tìm được trên một dòng riêng.
Ví dụ:
Dữ liệu:
4
1 2 3 4
4
3 0 1
rmq 3 0
inc 0 1 -2
rmq 0 1
Kết quả: