🐣 기타리스트
1. 문제 링크
2. 코드
Python
144ms
31256KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import sys
n, s, m = map(int, input().split())
volumes = list(map(int, input().split()))
src = [s]
for i in range(n):
v = volumes[i]
dest = []
while len(src) > 0:
now = src.pop()
na, nb = now + v, now - v
# 이전에 등장한 값인지 체킹 & 값 범위 안에 드는 지 체킹
if (na <= m and na not in dest):
dest.append(na)
if (nb >= 0 and nb not in dest):
dest.append(nb)
if (len(dest) == 0): # 볼륨 조절을 할 수 없는 경우
print(-1)
sys.exit()
src = dest
print(max(src))
This post is licensed under CC BY 4.0 by the author.