trang chủ / đề bài / voi26_tet

Tất niên

Đề bài

Mô tả

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 tới 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 Ai.

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 (B1,B2,…,BM), 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 là việc 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 (BL,BL+1,…,BR−1,BR) thành dãy (BR,BR−1,…,BL+1,BL), các phần tử còn lại giữ nguyên. Hai dãy (X1,X2,…,XM) và (Y1,Y2,…,YM) được xem là khác nhau nếu tồn tại chỉ số i (1≤i≤M) sao cho Xi≠Yi. Ví dụ, dãy (3,1,3) có độ đa dạng bằng 3 vì có thể tạo được 3 dãy khác nhau với không quá 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 tham dự. Vị khách thứ j (1≤j≤Q) đến và lấy chiếc đĩa thứ pj để 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.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên N và Q (1≤Q<N≤2×105).
  • Dòng thứ hai chứa N số nguyên dương A1,A2,…,AN (1≤Ai≤109 với mọi i=1,2,…,N).
  • Dòng thứ j trong số Q dòng tiếp theo chứa một số nguyên dương pj (1≤pj≤N). Dữ liệu đảm bảo các giá trị pj là khác nhau.

Dữ liệu ra

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.

Ràng buộc

  • 1≤Q<N≤2×105.
  • 1≤Ai≤109.
  • 1≤pj≤N, các pj đôi một khác nhau.

Subtasks

  • Subtask 1 (30% số điểm): Q=1, N≤200.
  • Subtask 2 (30% số điểm): Q=1, N≤2000.
  • Subtask 3 (20% số điểm): Q=1.
  • Subtask 4 (20% số điểm): Không có ràng buộc nào thêm.

Ví dụ

Input Output Giải thích
7 3
4 1 3 1 3 2 1
2
5
6
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.
6 1
1 2 1 2 1 2
1
7 Ví dụ bổ sung (không có trong đề gốc). Còn lại một đoạn (2,1,2,1,2). Có 6 dãy khác nhau nhận được bằng đúng một phép đảo ngược: (1,2,2,1,2), (1,2,1,2,2), (2,2,1,1,2), (2,1,1,2,2), (2,2,1,2,1), (2,1,2,2,1); cộng thêm chính dãy ban đầu, độ đa dạng bằng 7.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0