728x90
반응형
https://www.acmicpc.net/problem/16938
16938번: 캠프 준비
난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다.
www.acmicpc.net
<전체 코드>
from collections import deque
N, L, R, X = map(int, input().split())
problems = list(map(int, input().split()))
problems.sort(reverse=True)
answer = 0
queue = deque()
while problems:
biggest = problems.pop(0)
if biggest < R:
# sum, biggest, cnt, arr
queue.append([biggest, biggest, biggest, 1, problems])
while queue:
now, biggest, smallest, cnt, arr = queue.pop()
if L <= now <= R and cnt > 1:
if biggest - smallest >= X:
answer += 1
l = len(arr)
for i in range(l):
num_sum = now+arr[i]
if num_sum <= R:
queue.append([num_sum, biggest, arr[i], cnt+1, arr[i+1:]])
print(answer)
728x90
반응형
'# Coding > # 백준' 카테고리의 다른 글
[백준 / 2583] 영역 구하기 - Python (0) | 2022.03.17 |
---|---|
[백준 / 24678] 돌무더기 게임 1 - Python (0) | 2022.03.17 |
[백준 / 1393] 음하철도 구구팔 - Python (0) | 2022.03.11 |
[백준 / 11054] 가장 긴 바이토닉 부분 수열 - Python (0) | 2022.03.06 |
[백준 / 11722] 가장 긴 감소하는 부분 수열 - Python (0) | 2022.03.06 |