VOI 2026 - Tất niên

Xem dạng PDF

Gửi bài giải


Điểm: 50,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: tet.inp
Output: tet.out

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trong tiệc tất niên cuối năm, gia đình Alice chuẩn bị một bàn tiệc lớn để chào đón mọi người. Trên bàn có ~N~ đĩa thức ăn được bày biện đẹp mắt thành một hàng, được đánh số từ ~1~ đến ~N~ từ trái sang phải. Đĩa thứ ~i~ (~1 ≤ i ≤ N~) có độ hấp dẫn là một số nguyên dương ~A_i~.

Với một đoạn gồm ~M~ đĩa ở vị trí liên tiếp của bàn tiệc có độ hấp dẫn tương ứng là dãy (~B_1, B_2, ..., B_M~), Alice định nghĩa độ đa dạng của dãy đó là số lượng dãy khác nhau có thể nhận được bằng cách thực hiện không quá một phép đảo ngược trên dãy. Một phép đảo ngược được định nghĩa là chọn một cặp chỉ số ~(L, R)~ với ~1 ≤ L < R ≤ M~ và thực hiện đảo ngược dãy ~(B_L, B_{L+1}, ..., B_{R-1}, B_R)~ thành dãy ~(B_R, B_{R-1}, ..., B_{L+1}, B_L)~, các phần tử còn lại giữ nguyên. Hai dãy ~(X_1, X_2, ..., X_M)~ và ~(Y_1, Y_2, ..., Y_M)~ được xem là khác nhau nếu tồn tại chỉ số ~i~ ~(1 ≤ i ≤ M)~ sao cho ~X_i \neq Y_i~. Ví dụ, dãy ~(3, 1, 3)~ có độ đa dạng bằng ~3~ vì có thể tạo ra dãy khác nhau với một phép đảo ngược: ~(3, 1, 3)~, ~(1, 3, 3)~, ~(3, 3, 1)~.

Trong buổi tiệc, có ~Q~ vị khách lần lượt tới thăm. Với khách thứ ~j~ (~1 ≤ j ≤ Q~) đến và lấy chiếc đĩa thứ ~p_j~ để dùng bữa. Sau khi một chiếc đĩa được lấy ra, những chiếc còn lại giữ nguyên vị trí ban đầu và tạo thành các đoạn con ngăn cách bởi các vị trí trống do các đĩa đã được lấy đi. Alice tính độ đa dạng của mỗi đoạn con và muốn biết độ đa dạng lớn nhất trong số chúng.

Yêu cầu: Sau khi mỗi vị khách nhấc một chiếc đĩa đi, hãy tính độ đa dạng lớn nhất trong các đoạn con còn lại.

Input

Vào từ file văn bản TET.INP:

  • Dòng đầu chứa hai số nguyên ~N~ và ~Q~ (~1 ≤ Q < N ≤ 2 \times 10^5~).
  • Dòng thứ hai chứa ~N~ số nguyên dương ~A_1, A_2, ..., A_N~ (~1 ≤ A_i ≤ 10^9~).
  • Dòng thứ ~j~ trong số Q dòng tiếp theo chứa một số nguyên dương ~p_j~ (~1 ≤ p_j ≤ N~). Dữ liệu bảo đảm các giá trị ~p_j~ là khác nhau.

Các số trên cùng một dòng cách nhau bởi dấu cách.

Output

Ghi ra file văn bản TET.OUT:

  • Gồm ~Q~ dòng, mỗi dòng một số nguyên duy nhất là kết quả tìm được sau khi vị khách tương ứng nhấc một chiếc đĩa đi.

Sample Input

7 3
4 1 3 1 3 2 1
2
5
6

Sample Output

9
2
2
  • Sau khi lấy đĩa thứ ~2~, thu được hai đoạn con là ~(4)~ và ~(3, 1, 3, 2, 1)~, với độ đa dạng lần lượt là ~1~ và ~9~.
  • Sau khi lấy đĩa thứ ~5~, thu được ba đoạn con là ~(4)~, ~(3, 1)~ và ~(2, 1)~, với độ đa dạng lần lượt là ~1~, ~2~ và ~2~.
  • Sau khi lấy đĩa thứ ~6~, thu được ba đoạn con là ~(4)~, ~(3, 1)~ và ~(1)~, với độ đa dạng lần lượt là ~1~, ~2~ và ~1~.

Subtasks

Subtask Điểm Ràng buộc
1 ~30~ ~Q = 1, N \le 200~.
2 ~30~ ~Q = 1, N \le 2000~.
3 ~20~ ~Q = 1~.
4 ~20~ Không có ràng buộc nào thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.