n,m=map(int,input().split())
a=list(map(int,input().split()))
le=len(a)
sl=[]
for i in range(0,le-2):
for j in range(i+1,le-1):
for k in range(j+1,le):
s=a[k]+a[j]+a[i]
if s<=m:
sl.append(s)
print(max(sl))
완전 탐색 문제이다.
완전 탐색이란, 모든 경우의 수를 전부 탐색하는 것으로 예외가 존재하지 않는 탐색이다.
브루트 포스는 완전 탐색 중 비선형 구조를 가지는 너비 우선 탐색 문제로, 문제를 선형 구조화 시켜 접근한다.