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

Điểm vui lớn nhất

Đề bài

Mô tả

Có một mảng gồm n số nguyên không âm a1,a2,,an. Ta sẽ sắp xếp lại (hoán vị) các phần tử này thành một dãy và thực hiện một trò chơi kéo dài n ngày. Cho trước một hằng số m và một số nguyên d.

Quá trình diễn ra như sau. Xét lần lượt từng ngày i (từ 1 đến n):

  • Nếu ở ngày i được phép nói, thì ta thu được số điểm vui bằng giá trị ai (phần tử ở vị trí i trong hoán vị đã chọn).
  • Sau khi nói ở ngày i: nếu ai>m thì ta bị cấm nói trong d ngày kế tiếp, tức là các ngày i+1,i+2,,min(i+d,n) đều không được phép nói. Nếu aim thì không có gì xảy ra.
  • Ngày đầu tiên (i=1) luôn được phép nói.

Tổng điểm vui là tổng các giá trị ai của những ngày mà ta được phép nói.

Hãy tìm tổng điểm vui lớn nhất trên tất cả các hoán vị có thể của mảng a.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, d, m.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • In ra một số nguyên: tổng điểm vui lớn nhất.

Ràng buộc

  • 1dn105
  • 0m109
  • 0ai109

Ví dụ

Input Output Giải thích
5 2 11
8 10 15 23 5
48 Chọn hoán vị [15,5,8,10,23]. Ngày 1 nói 15 (>11) nên bị cấm nói ngày 2, 3. Ngày 4 nói 10, ngày 5 nói 23. Tổng =15+10+23=48.
4 4 8
84 25 75 21
84 Mọi giá trị đều >8, mà d=4=n nên chỉ có thể nói đúng một lần. Chọn giá trị lớn nhất là 84.

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 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