Tập con gần X nhất

Xem dưới dạng PDF

Gửi bài giải


Điểm: 1
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Kiểu bài tập

Cho mảng A gồm N số nguyên dương và số X. Hãy tìm tổng tập con gần với X nhất (không vượt quá X cũng được). Nếu có nhiều tổng cách X cùng một khoảng cách, chọn tổng lớn nhất.

Sử dụng Meet in the Middle: chia mảng làm 2 nửa, sinh tất cả tổng tập con của mỗi nửa, sắp xếp nửa thứ hai, dùng binary search để tìm tổng gần X nhất.

Đầu vào
  • Dòng đầu tiên chứa hai số nguyên N (1 ≤ N ≤ 40) và X (1 ≤ X ≤ 10^18).
  • Dòng thứ hai chứa N số nguyên dương A_i (1 ≤ A_i ≤ 10^15).
Đầu ra

Tổng tập con gần X nhất.

Ví dụ
Input:
5 20
2 3 5 8 13

Output:
21
Giải thích

Các tổng tập con: 2,3,5,8,10,11,13,15,16,18,21,... Tổng 21 gần 20 nhất (chênh 1).


Nhận xét

Không có ý kiến tại thời điểm này.