Post

🐣 기타리스트

1. 문제 링크

1495번: 기타리스트



2. 코드

Python144ms31256KB
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.