n, m = map(int, input().split()) cards_list = list(map(int, input().split()))
result = list(combinations(cards_list, 3))
max_sum = 0 for cards in result: temp_sum = sum(cards) if m >= temp_sum > max_sum: max_sum = temp_sum
print(max_sum)
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
import sys
input = sys.stdin.readline
N, M = map(int, input().split()) cards_list = list(map(int, input().split()))
max_sum = 0 for i inrange(N): for j inrange(i + 1, N): for k inrange(j + 1, N): if M >= cards_list[i] + cards_list[j] + cards_list[k] > max_sum: max_sum = cards_list[i] + cards_list[j] + cards_list[k]