from copy import deepcopy def sumBoxes(listOfBoxes, listOfIndexes): suma = 0 for counter in listOfIndexes: suma += int(listOfBoxes[counter][0]) + int(listOfBoxes[counter][1]) print("This a sum:", sum) return suma def verifySum(lista): pass def bktrCaller(element, lista, limit, bigList): while(element< limit*2): bktrString(limit,lista, element, bigList) lista = [] element = element + 1 def bktrString(limit, lista, element, bigList): if element > limit*2 - 1: return "Error" if(len(lista) < limit): if element in lista: bktrString(limit, lista, element + 1, bigList) else: lista.append(element) bktrString(limit, lista, element, bigList) else: bigList.append(deepcopy(lista)) lista.pop() bktrString(limit,lista, element + 1, bigList) #list = 1234352463 #match = 2134 (limita) newInput = input() newInput = newInput.split(" ") numberOfBoxes = int(newInput[0]) numberOfMarbles = int(newInput[1]) listOfBoxes = [] maxList = [] listOfIndexes = [] for counter in range(0,numberOfBoxes): newInput = input() newInput = newInput.split(" ") listOfBoxes.append(newInput) lista = [] limit = 4 bigList = [] bktrCaller(0, lista, numberOfBoxes / 2, bigList) maxWhiteMarbles = 0 maxBlackMarbles = 0 maxMarb = 0 for counter in bigList: tempWhiteMarbles = 0 tempBlackMarbles = 0 for counter2 in range(0,numberOfBoxes): if(counter2 in counter): tempWhiteMarbles += int(listOfBoxes[counter2][0]) else: tempBlackMarbles += int(listOfBoxes[counter2][1]) if tempWhiteMarbles + tempBlackMarbles > maxMarb: maxMarb = tempWhiteMarbles + tempBlackMarbles maxWhiteMarbles = tempWhiteMarbles maxBlackMarbles = tempBlackMarbles print(str(maxWhiteMarbles)+ " "+ str(maxBlackMarbles))