trang chủ / đề bài / voi20_bonus

Phần thưởng

Đề bài

Mô tả

Alice vừa đoạt giải quán quân trong một kỳ thi lập trình danh giá. Ban tổ chức trao thưởng thông qua một trò chơi như sau. Có n thẻ xếp trên một hàng dài, trên mỗi thẻ viết một số nguyên dương. Ban tổ chức cho phép Alice thực hiện nhiều bước để chọn ra đúng k cặp thẻ, mỗi bước thực hiện theo một trong các quy tắc sau:

  • Chọn 2 thẻ đầu hàng;
  • Chọn 2 thẻ cuối hàng;
  • Chọn 1 thẻ đầu hàng và 1 thẻ cuối hàng;
  • Loại 1 thẻ đầu hàng ra khỏi hàng;
  • Loại 1 thẻ cuối hàng ra khỏi hàng.

Sau mỗi bước nếu chọn được 2 thẻ thì loại 2 thẻ đó ra khỏi hàng và Alice nhận được số tiền thưởng bằng giá trị tuyệt đối của hiệu hai số ghi trên hai thẻ đó.

Yêu cầu: Hãy giúp Alice tìm cách chơi chọn đúng k cặp thẻ để đạt được tổng số tiền thưởng là lớn nhất.

Dữ liệu vào

  • Dòng thứ nhất chứa hai số nguyên dương n và k (2×k≤n);
  • Dòng thứ hai chứa n số nguyên dương là giá trị ghi trên từng thẻ, mỗi thẻ một số tương ứng lần lượt từ đầu hàng. Các số có giá trị không vượt quá 109.

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

Dữ liệu ra

In ra một số nguyên duy nhất là tổng tiền thưởng lớn nhất tìm được.

Ràng buộc

  • 2×k≤n≤300;
  • Giá trị trên mỗi thẻ là số nguyên dương không vượt quá 109.

Subtasks

  • Subtask 1 (40% số test, 40% số điểm): n≤300, k≤2;
  • Subtask 2 (40% số test, 40% số điểm): n≤30, 2×k=n;
  • Subtask 3 (20% số test, 20% số điểm): n≤300.

Ví dụ

Input Output Giải thích
6 2
1 3 10 2 1 4
12 Bước 1: Alice chọn hai thẻ cuối hàng là 1 và 4 và nhận được số tiền thưởng là |4−1|=3. Bước 2: Alice loại thẻ cuối hàng có giá trị 2. Bước 3: Alice chọn một thẻ đầu hàng và một thẻ cuối hàng là 1 và 10 và nhận được số tiền thưởng là |10−1|=9. Tổng tiền thưởng là 3+9=12.
6 3
1 6 10 9 10 8
14 Ví dụ thêm (không có trong đề gốc). Chọn hai thẻ cuối hàng 10 và 8 (thưởng 2), rồi thẻ đầu hàng 1 và thẻ cuối hàng 9 (thưởng 8), cuối cùng hai thẻ còn lại 6 và 10 (thưởng 4). Tổng 2+8+4=14.

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