Luân truy vấn

Xem dưới dạng PDF

Gửi bài giải

Điểm: 30
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Cho một mảng gồm \(N\) số đánh số từ \(1 \rightarrow N\). Luân cần viết chương trình thực hiện dãy các lệnh sau:

  • "CHANGE i v": Thay đổi số thứ \(i\) thành \(v\)
  • "NEGATE a b": Đảo dấu số của tất cả số vị trí từ \(a\) đến \(b\)
  • "QUERY a b": Tìm số lớn nhất từ \(a\) đến \(b\)

Dữ liệu vào

  • Dòng đầu một số \(N\) \((N \le 10^5)\).
  • Dòng tiếp theo chứa \(N\) số \(A_i\)
  • Tiếp theo là dãy các lệnh như mô tả ở trên(số lệnh không quá 50000). Cuối mỗi test ghi một từ "DONE".
  • Dữ liệu vào luôn đảm bảo trọng số của các cạnh ở mỗi thời điểm có giá trị tuyệt đối không vượt quá \(10^7\)

Dữ liệu ra

  • Với mỗi lệnh "QUERY", in ra kết quả tìm được. Nếu \(a=b\) thì ghi ra \(0\).

Input 1

9
1 1 1 4 3 9 7 3 5
CHANGE 6 7
CHANGE 3 6
CHANGE 4 7
CHANGE 5 7
NEGATE 1 5
QUERY 2 4
QUERY 6 8
CHANGE 4 6
QUERY 1 7
QUERY 3 4
DONE

Output 1

-1
7
7
6

Nhận xét

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