Series ℍ𝔾𝔹ℂ𝕡𝕡_'s - 2026 - Contest #2 - Chia kẹo cho em
Xem PDF
Điểm:
1000
Thời gian:
0.5s
Bộ nhớ:
256M
Input:
candy.inp
Output:
candy.out
Một hôm, thấy túi kẹo còn quá nhiều và cậu ấy rất ghét ăn kẹo. Nhưng, rất thích ăn loại kẹo đó. Tuy nhiên, không muốn tặng kẹo cho cậu ấy quá nhiều. Chính vì vậy, cậu ấy đã nghĩ ra một cách chia đơn giản như sau: Trong túi kẹo, còn \(n\) túi kẹo với độ ngọt lần lượt là: \(w_1,w_2,...,w_n\) (Lưu ý: Độ ngọt không được sắp xếp hay theo một quy luật hay thứ tự nào cả)
- sẽ tặng cho anh ta \(2\) cái kẹo có độ ngọt lớn nhất và nhỏ nhất (Gọi là \(a\) và \(b\)) với điều kiện \(a+b\le K\)
- Trái với điều này, cậu ta chỉ giữ lại viên kẹo nhỏ hơn đang xét và sẽ ăn viên kẹo có độ ngọt lớn hơn.
Chú ý: Mỗi lần cần bắt buộc phải xét \(2\) viên kẹo.
tặng kẹo hay ăn kẹo cho đến khi không còn cách chia nào thỏa mãn.
Nhiệm vụ của các bạn là hãy giúp đếm số lượng viên mà anh ta tặng cho .
Input
- Dòng \(1\) gồm hai số nguyên dương \(n,k\) (\(n\le 10^5\), \(1\le k \le 10^9\))
- Dòng \(2\) gồm \(n\) số nguyên dương \(w_1,w_2,...,w_n\) (\(w_i\le 10^9\) với \(1\le i \le n\))
Output
- Gồm một dòng duy nhất là một số tự nhiên chính là kết quả của bài toán trên.
Example
Test 1
Input
7 10
1 2 3 7 8 9 10
Output
6
Note
- Lượt \(1\): Anh ấy xét viên \(1\) và \(10\). Vì \(1 + 10 = 11 > 10\) nên anh ta ăn viên có độ ngọt là \(10\) và giữ lại viên \(1\).
- Lượt \(2\): Anh ấy xét viên \(1\) và \(9\). Vì \(1 + 9 = 10 \le 10\) nên anh ta tặng \(2\) viên này cho .
- Lượt \(3\): Anh ấy xét viên \(2\) và \(8\). Vì \(2 + 8 = 10 \le 10\) nên anh ta tặng \(2\) viên này cho .
- Lượt \(4\): Anh ấy xét viên \(3\) và \(7\). Vì \(3 + 7 = 10 \le 10\) nên anh ta tặng \(2\) viên này cho . Sau khi tặng xong, trong túi không còn cái kẹo nào cả.
\(\rightarrow\) Nên anh ấy đã tặng \(6\) viên kẹo cho
Kỳ thi:
- Series ℍ𝔾𝔹ℂ𝕡𝕡_'s - Tìm 𝓒𝓸𝓭𝓮𝓻 Tài năng nhất LQDOJ #02 (13 Tháng sáu, 2026)
Bình luận