• LQDOJ
  • Trang chủ
  • Bài tập
  • Bài nộp
  • Thành viên
  • Kỳ thi
  • Nhóm
  • Giới thiệu
    • Máy chấm
    • Khóa học
    • Đề xuất ý tưởng
    • Đề xuất bài tập
    • Tools
    • Báo cáo tiêu cực
    • Báo cáo lỗi

Tiếng Việt

Tiếng Việt
English

Đăng nhập

Đăng ký

trongngt93

  • Giới thiệu
  • Bài tập
  • Bài nộp

Rating
-
Bài tập
1
Điểm
188
Rating #
-
Điểm #
28350

Giới thiệu

def find_subset_with_sum(arr, k):
n = len(arr)

def backtrack(start, path, current_sum):
    if current_sum == k:
        return path
    for i in range(start, n):
        if current_sum + arr[i] <= k:
            result = backtrack(i + 1, path + [arr[i]], current_sum + arr[i])
            if result:
                return result
    return None

return backtrack(0, [], 0)

ar = list(map(int,input().split()))
m = ar[1]
a = list(map(int,input().split()))
sub=find_subset_with_sum(a,m)
c=[]
for x in a:
if x in sub:
c.append(1)
else:
c.append(0)
print(*c)


«    »
Thứ 2
Thứ 3
Thứ 4
Thứ 5
Thứ 6
Thứ 7
CN
Ít
Nhiều

proudly powered by DMOJ| developed by LQDJudge team