https://www.acmicpc.net/problem/2798
FYI,
파이썬은 1초에 2천만 정도의 연산을 수행!
위의 문제는 C(n,3)의 경우의 수를 찾아서 조건을 만족하는 것을 고르는 문제임!
n(n-1)(n-2)/3!
n이 '100'이라면 아래와 같이 2천만 미만이라서 파이썬으로 계산가능!
n3 = 100**3 = 1,000,000
N, M = [int(x) for x in input().split()]
nums = [int(x) for x in input().split()]
max_sum = 0
for i in range(0, N):
for j in range(0, N):
if i == j:
continue
for k in range(0, N):
if k == i or k == j:
continue
temp_sum = nums[i]+nums[j]+nums[k]
if M >= temp_sum > max_sum:
max_sum = temp_sum
print(max_sum)
N, M = [int(x) for x in input().split()]
nums = [int(x) for x in input().split()]
max_sum = 0
for i in range(0, N-2):
for j in range(1, N-1):
if len(list(set([i, j]))) < 2:
continue
for k in range(2, N):
if len(list(set([i, j, k]))) < 3:
continue
temp_sum = nums[i]+nums[j]+nums[k]
if M >= temp_sum > max_sum:
max_sum = temp_sum
print(max_sum)
N, M = [int(x) for x in input().split()]
nums = [int(x) for x in input().split()]
max_sum = 0
for i in range(0, N-2):
for j in range(1, N-1):
if j == i:
continue
for k in range(2, N):
if k == i or k == j:
continue
temp_sum = nums[i]+nums[j]+nums[k]
if M >= temp_sum > max_sum:
max_sum = temp_sum
print(max_sum)
n, m = list(map(int, input().split(' ')))
data = list(map(int, input().split(' ')))
result = 0
length = len(data)
count = 0
for i in range(0, length):
for j in range(i+1, length):
for k in range(j+1, length):
sum_value = data[i] + data[j] + data[k]
if sum_value <= m:
result = max(result, sum_value)
print(result)