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

Chợ Trao Đổi

Đề bài

Mô tả

Ở một "Chợ Trao Đổi", bạn có thể mang một số món đồ của mình đến để đổi lấy các món đồ khác mà không mất phí.

Chợ có tất cả n món đồ, mỗi món là duy nhất (chỉ có một bản). Món thứ i có giá trị ci. Bạn có thể mang một tập món đồ bất kỳ đến và đổi nó lấy một tập món đồ khác, với điều kiện hai tập không có món chung nào (vì mỗi món chỉ tồn tại một bản). Nói cách khác, tập x có thể đổi thành tập y bất kỳ miễn là không tồn tại món p vừa thuộc x vừa thuộc y.

Quy tắc công bằng của chợ: bạn không được đổi tập x lấy tập y nếu s(x)+d<s(y), trong đó s(·) là tổng giá trị các món trong tập. Tức là tổng giá trị của tập nhận về không được vượt quá tổng giá trị tập đem đổi cộng thêm d.

Mỗi ngày bạn chỉ được thực hiện một lần đổi. Ban đầu bạn không có món đồ nào (xem như đang sở hữu tập rỗng có giá trị 0).

Bạn muốn cuối cùng sở hữu một tập món đồ có tổng giá trị lớn nhất có thể. Hãy tìm tổng giá trị đó và số ngày ít nhất để đạt được nó.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nd.
  • Dòng thứ hai chứa n số nguyên c1,c2,,cn — giá trị của các món đồ.

Dữ liệu ra

In ra hai số nguyên cách nhau bởi dấu cách: tổng giá trị lớn nhất mà bạn có thể sở hữu, và số ngày ít nhất để đạt được tổng giá trị đó.

Ràng buộc

  • 1n50
  • 1d104
  • 1ci104

Ví dụ

Input Output Giải thích
3 2
1 3 10
4 3 Lấy món thứ nhất (102). Đổi món thứ nhất lấy món thứ hai (312). Lấy thêm món thứ nhất (102). Tổng cuối cùng là 3+1=4 sau 3 ngày.
3 5
1 2 3
6 2 Ngày 1: lấy tập có tổng 5, ví dụ {2,3} giá trị 5. Ngày 2: đổi lấy cả {1,2,3} giá trị 6 (vì 655).
10 10000
10000 9999 1 10000 10000 10000 1 2 3 4
50010 6 Tổng giá trị lớn nhất đạt được là 50010 sau 6 ngày trao đổi.

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