Cà rốt cho thỏ

Đề bài

Mô tả

n củ cà rốt với độ dài a1,a2,,an. Bạn cần cắt các củ cà rốt thành đúng k khúc, sao cho mỗi khúc có độ dài là một số nguyên dương.

Thời gian để ăn một khúc cà rốt độ dài xx2. Hãy cắt cà rốt sao cho tổng thời gian ăn tất cả các khúc là nhỏ nhất.

Một củ cà rốt độ dài a có thể bị cắt thành nhiều khúc (tổng độ dài các khúc bằng a), và mỗi khúc là số nguyên dương. Mỗi củ cà rốt phải được giữ nguyên hoặc cắt thành ít nhất một khúc, và tổng số khúc trên tất cả củ cà rốt phải bằng đúng k.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk: số củ cà rốt ban đầu và số khúc cần cắt.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an: độ dài các củ cà rốt.

Dữ liệu ra

In ra một số nguyên: tổng thời gian nhỏ nhất để ăn hết các khúc cà rốt.

Ràng buộc

  • 1nk105
  • 1ai106
  • Tổng ai ít nhất bằng k (luôn có thể cắt thành k khúc nguyên dương).

Ví dụ

Input Output Giải thích
1 4
19
91 Cắt củ cà rốt độ dài 19 thành các khúc {4, 5, 5, 5}. Tổng thời gian 42+52+52+52=91.
3 6
5 3 1
15 Kích thước tối ưu của các khúc là {1, 1, 1, 2, 2, 2}. Tổng thời gian 12+12+12+22+22+22=15.

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