728x90
N, M = map(int,input().split())
lst = list(map(int, input().split()))
result = 0
for i in range(N):
for j in range(i + 1, N):
for k in range(j + 1, N):
if lst[i] + lst[j] + lst[k] <= M:
if lst[i] + lst[j] + lst[k] > result:
result = lst[i] + lst[j] + lst[k]
print(result)
브루트포스 문제..
최대한 for문으로 인한 시간을 줄이기 위해서는 삼중포문에서 이전 인덱스의 +1씩 해서 거기부터 참조해야
시간초과에서 벗어날 수 있다.
728x90
'알고리즘 공부(C++)' 카테고리의 다른 글
4948 베르트랑 공준 (0) | 2022.08.26 |
---|---|
백준 10814 나이순 정렬 (0) | 2022.08.25 |
백준 1010 다리놓기 (0) | 2022.08.24 |
백준 15649 N과 M(1) (0) | 2022.08.24 |
1018 체스판 다시 칠하기 (0) | 2022.08.22 |