반응형
[ 문제 ]
난이도: D4
문제 번호: 1486
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
장훈이는 서점을 운영하고 있다.
서점에는 높이가 B인 선반이 하나 있는데 장훈이는 키가 매우 크기 때문에, 선반 위의 물건을 자유롭게 사용할 수 있다.
어느 날 장훈이는 자리를 비웠고,
이 서점에 있는 N명의 점원들이 장훈이가 선반 위에 올려놓은 물건을 사용해야 하는 일이 생겼다.
각 점원의 키는 Hi로 나타나는데, 점원들은 탑을 쌓아서 선반 위의 물건을 사용하기로 하였다.
점원들이 쌓는 탑은 점원 1명 이상으로 이루어져 있다.
탑의 높이는 점원이 1명일 경우 그 점원의 키와 같고,
2명 이상일 경우 탑을 만든 모든 점원의 키의 합과 같다.
탑의 높이가 B 이상인 경우 선반 위의 물건을 사용할 수 있는데 탑의 높이가 높을수록 더 위험하므로
높이가 B 이상인 탑 중에서 높이가 가장 낮은 탑을 알아내려고 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
for tc in range(1, int(input())+1):
N, B = map(int, input().split())
numbers = list(map(int, input().split()))
min_v = 987654321
for i in range(1 << N):
total = 0
for j in range(N):
if i & (1 << j):
total += numbers[j]
if total - B >= 0 and min_v > total - B:
min_v = total - B
print('#{} {}'.format(tc, min_v))
|
cs |
반응형
'SW Expert' 카테고리의 다른 글
[SWEA] 1861 정사각형 방 Python (0) | 2021.05.12 |
---|---|
[SWEA] 1859 백만 장자 프로젝트 Python (0) | 2021.05.11 |
[SWEA] 1289 원재의 메모리 복구하기 Python (0) | 2021.05.09 |
[SWEA] 1284 수도 요금 경쟁 Python (0) | 2021.05.08 |
[SWEA] 1288 새로운 불면증 치료법 Python (0) | 2021.05.07 |