n = int(input("Nhap vao n:= ")) A = [x for x in range(0, n)] # mảng chứa lựa chọn Sum = int(0) WMAX = int(input("Nhap vao khoi luong toi da co the lay duoc:= ")) B = [x for x in range(0, n)] # mảng lưu kết quả V = [x for x in range(0, n)] # mảng giá trị của đồ vật W = [x for x in range(0, n)] # mảng khối lượng của đồ vật def resualB(): #lấy ra mảng cuối cùng được chọn for i in range(0, n): B[i] = A[i] def createArrV(V): # nhập giá trị cho mảng chứa giá trị đồ vật for i in range(0, n): V[i] = int(input("Nhap vao gia tri:= ")) def createArrW(W): # nhập giá trị cho mảng chứa khối lượng đồ vật for i in range(0, n): W[i] = int(input("Nhap vao khoi luong cua do vat:= ")) def tongW(): # tính tổng khối lượng của một mảng đồ vật được chọn tong = int(0) for i in range(0, n): if A[i] == 1: tong += W[i] return tong def tongV(): # tính tổng giá trị của một mảng đồ vật được chọn tong = int(0) if tongW() <= WMAX: for i in range(0, n): if A[i] == 1: tong += V[i] return tong def Try(i): global Sum for j in range(0, 2): A[i] = j if i == n - 1: s = tongV() if Sum <= s <= WMAX: Sum = s resualB() else: Try(i + 1) print("Nhap vao gia tri cua do vat:") createArrV(V) print("Nhap vao can nang cua do vat:") createArrW(W) Try(0) print(Sum, B)