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

Điều khiển tâm trí

Đề bài

Mô tả

Bạn và n1 người bạn cùng chia nhau một dãy số nguyên a1,a2,,an theo quy tắc sau: tất cả xếp thành một hàng theo thứ tự đã định. Tại mỗi lượt, người đứng đầu hàng chọn phần tử đầu hoặc cuối của dãy còn lại, lấy nó cho mình và rời khỏi hàng. Người tiếp theo lặp lại tương tự với phần dãy còn lại.

Bạn đứng ở vị trí thứ m trong hàng. Trước khi quá trình bắt đầu, bạn được phép chọn tối đa k người khác trong hàng và bắt mỗi người đó cam kết: khi đến lượt họ sẽ luôn lấy phần tử đầu, hoặc luôn lấy phần tử cuối (mỗi người một lựa chọn riêng do bạn quyết định). Khi quá trình bắt đầu, bạn không được điều khiển thêm ai, cũng không được đổi ý cho những người đã bị điều khiển.

Những người không bị bạn điều khiển có thể chọn đầu hoặc cuối một cách hoàn toàn tùy ý — họ không nhất thiết lấy phần tử lớn nhất, mà có thể chọn theo cách bất lợi nhất cho bạn.

Giả sử bạn lựa chọn tối ưu, hãy tìm số nguyên x lớn nhất sao cho dù những người không bị điều khiển chọn thế nào, phần tử bạn lấy được khi đến lượt mình vẫn x.

Dữ liệu vào

Dòng đầu chứa một số nguyên t (1t1000) — số test.

Mỗi test gồm hai dòng:

  • Dòng đầu chứa ba số nguyên n, m, k (1mn3500, 0kn1).
  • Dòng sau chứa n số nguyên dương a1,a2,,an (1ai109).

Tổng n trên toàn bộ các test không vượt quá 3500.

Dữ liệu ra

Với mỗi test, in ra một dòng chứa giá trị x lớn nhất.

Ví dụ

Input Output Giải thích
4
6 4 2
2 9 2 3 8 5
4 4 1
2 13 60 4
4 1 3
1 2 2 1
2 2 0
1 2
8
4
1
1
Test 1: n=6, m=4, k=2. Ép người 1 lấy cuối (5), người 2 lấy đầu (2). Dãy còn [9,2,3,8]. Người 3 có thể lấy 9 (bạn nhận 8) hoặc lấy 8 (bạn nhận 9). Giá trị nhỏ nhất là 8.
4
6 3 2
2 9 2 3 8 5
4 4 1
2 13 60 4
4 2 3
1 2 2 1
2 2 0
1 2
9
4
2
1
Test 1 ở đây m=3, k=2: bạn điều khiển cả 2 người trước, do đó luôn lấy được max(ap,anm+p)=9 với lựa chọn tốt nhất.

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