trang chủ / bài tập / optsubseq

Dãy con tối ưu (bản dễ)

Đề bài

Mô tả

Cho một dãy số nguyên a=[a1,a2,,an] độ dài n. Một dãy con của a thu được bằng cách xóa đi không hoặc nhiều phần tử (các phần tử còn lại không nhất thiết đứng liền nhau, nhưng giữ nguyên thứ tự ban đầu).

Với một số nguyên k (1kn), một dãy con được gọi là tối ưu nếu:

  • nó có độ dài đúng bằng k và tổng các phần tử là lớn nhất có thể trong số mọi dãy con độ dài k;
  • trong số mọi dãy con độ dài k đạt tổng lớn nhất, nó là dãy có thứ tự từ điển nhỏ nhất.

Nhắc lại: dãy b=[b1,,bk] nhỏ hơn theo thứ tự từ điển so với dãy c=[c1,,ck] nếu tồn tại vị trí t sao cho b1=c1,,bt1=ct1bt<ct.

Cho m truy vấn, mỗi truy vấn gồm hai số kjposj (1posjkjn). Với mỗi truy vấn, hãy in ra giá trị nằm ở vị trí posj (đánh số từ 1) của dãy con tối ưu ứng với k=kj.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n, độ dài của dãy a.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.
  • Dòng thứ ba chứa số nguyên m, số truy vấn.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên kjposj.

Dữ liệu ra

In ra m số nguyên, mỗi số trên một dòng: đáp án cho các truy vấn theo đúng thứ tự chúng xuất hiện.

Ràng buộc

  • 1n100
  • 1ai109
  • 1m100
  • 1posjkjn

Ví dụ

Input Output Giải thích
3
10 20 10
6
1 1
2 1
2 2
3 1
3 2
3 3
20
10
20
10
20
10
Các dãy con tối ưu: với k=1[20]; với k=2[10,20] (lấy phần tử a1=10 đứng trước, không phải a3=10, để nhỏ nhất theo thứ tự từ điển); với k=3[10,20,10].
7
1 2 1 3 1 2 1
9
2 1
2 2
3 1
3 2
3 3
1 1
7 1
7 7
7 4
2
3
2
3
2
3
1
1
3
Với k=2, dãy con tối ưu là [2,3] (các phần tử a2=2a4=3). Với k=1[3]. Với k=7 là toàn bộ dãy.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0