Hùng dự định sẽ tặng túi xách cho các bạn học sinh nghèo nhân dịp năm học 2022-2023. Trong một lần đi du lịch Đà Nẵng anh vào một cửa hàng bán túi xách, trong cửa hàng có \(n\) túi xách khác nhau, được đánh số từ 1 đến \(n\). Giá tiền của từng túi xách được cho bởi dãy số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\), túi xách thứ \(i\) có giá là \(a_{i}\) \((1 \leq a_{i} \leq 10^{4},1 \leq i \leq n)\). Ngoài ra cửa hàng còn có chính sách khuyến mãi hấp dẫn, mỗi lần mua một túi xách bất kỳ từ cửa hàng, được nhận khuyến mãi \(k\) túi xách khác (tất cả \(k\) túi xách đều là các loại khác nhau) miễn phí. Khi mua một túi xách, số lượng túi xách trong cửa hàng còn lại \(k\) túi xách trở lên, sẽ được nhận \(k\) túi xách miễn phí; số lượng túi xách còn lại ít hơn \(k\), sẽ được nhận miễn phí các túi xách còn lại.
Hùng sẽ mua từng túi xách và chọn các túi xách khuyến mãi cho đến khi mua hết \(n\) túi xách. Biết rằng Hùng có đủ tiền để mua hết \(n\) túi xách.
Yêu cầu: Tìm số tiền nhỏ nhất và số tiền lớn nhất để Hùng có thể mua tất cả \(n\) túi xách.
Dữ liệu vào:
+ Dòng thứ nhất gồm hai số nguyên dương \(n\) và \(k\) \((1 \leq k \leq n \leq 10^{5})\).
+ Dòng thứ hai gồm \(n\) số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\) tương ứng là giá tiền của \(n\) túi xách khác nhau trong cửa hàng.
+ Các số trên một dòng cách nhau ít nhất một khoảng trắng.
Dữ liệu ra:
+ In hai số nguyên dương tương ứng là số tiền nhỏ nhất và số tiền lớn nhất, hai số trên một dòng và cách nhau một khoảng trắng.
Ví dụ:
Input | Output |
---|---|
5 2 3 2 1 4 1 | 2 7 |
Giới hạn:
+ 50% số điểm của bài ứng với các bộ dữ liệu vào có giới hạn \(1 \leq n \leq 10^{3}\);
+ 50% số điểm của bài ứng với các bộ dữ liệu vào có giới hạn \(1 \leq n \leq 10^{5}\).
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |