trang chủ / đề bài / thhv22_cloud

Điện toán đám mây

Đề bài

Mô tả

An là một lập trình viên điện toán đám mây. Hiện tại, anh ấy đang cần phải chạy tổng cộng n chương trình mô phỏng trên "đám mây". Mỗi chương trình chạy mất đúng 1 đơn vị thời gian, nhưng bộ nhớ chúng sử dụng có thể khác nhau. Bộ nhớ cần thiết cho chương trình i là ai megabyte.

Theo công việc, An phải chia n chương trình thành k tác vụ và số chương trình trong mỗi tác vụ không nhất thiết bằng nhau. Mỗi chương trình thuộc đúng một tác vụ, mỗi tác vụ có ít nhất một chương trình, và các chương trình trong cùng một tác vụ không cần đứng liền nhau. Trong mỗi tác vụ, các chương trình được chạy lần lượt, tức là thời gian thực hiện một tác vụ sẽ bằng số chương trình trong tác vụ đó. Mặt khác, bộ nhớ được cấp phát cho mỗi tác vụ bằng bộ nhớ tối đa cần thiết cho bất kỳ một chương trình nào trong tác vụ đó.

Tuy nhiên, An phải trả chi phí cho mỗi megabyte trên một đơn vị thời gian, vì vậy chi phí cho mỗi tác vụ bằng số đơn vị thời gian thực hiện tác vụ đó nhân với bộ nhớ tối đa của các chương trình trong tác vụ và bằng số chương trình của tác vụ đó nhân với bộ nhớ tối đa của các chương trình trong tác vụ. Chi phí thực hiện n chương trình sẽ là tổng chi phí thực hiện k tác vụ.

Yêu cầu: Bạn hãy giúp An chia n chương trình thành k tác vụ, sao cho chi phí thực hiện chúng là tối thiểu.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n và k (1≤k≤n≤105).
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an (0≤ai≤1012).

Dữ liệu ra

In ra một số nguyên là chi phí tối thiểu mà An phải trả.

Ràng buộc

  • 1≤k≤n≤105.
  • 0≤ai≤1012.

Subtasks

Điểm được tính theo từng test.

  • Subtask 1 (4% số test): k=1.
  • Subtask 2 (6% số test): số các giá trị khác nhau của a1,a2,…,an nhỏ hơn hoặc bằng k.
  • Subtask 3 (10% số test): n≤10.
  • Subtask 4 (20% số test): n≤102.
  • Subtask 5 (20% số test): n≤103.
  • Subtask 6 (20% số test): n≤104 và k≤103.
  • Subtask 7 (20% số test): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
10 4
4 1 12 17 7 3 6 8 10 16
94 Tác vụ 1 gồm các chương trình 1,2,6: chi phí 3×max(a1,a2,a6)=12. Tác vụ 2 gồm các chương trình 3,9: chi phí 2×max(a3,a9)=24. Tác vụ 3 gồm các chương trình 5,7,8: chi phí 3×max(a5,a7,a8)=24. Tác vụ 4 gồm các chương trình 4,10: chi phí 2×max(a4,a10)=34. Tổng chi phí là 12+24+24+34=94.
5 2
5 0 5 3 1
17 Tác vụ 1 gồm các chương trình 2,5: chi phí 2×max(0,1)=2. Tác vụ 2 gồm các chương trình 1,3,4: chi phí 3×max(5,5,3)=15. Tổng chi phí là 2+15=17.

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