반응형
N = int(input())
nums = list(map(int, input().split()))
add, sub, mul, div = map(int, input().split())
min_, max_ = 1e9, -1e9
def dfs(i, res, add, sub, mul, div):
#global max_, min_
if i == N:
max_ = max(res, max_)
min_ = min(res, min_)
return
else:
if add:
dfs(i+1, res+nums[i], add-1, sub, mul, div)
if sub:
dfs(i+1, res-nums[i], add, sub-1, mul, div)
if mul:
dfs(i+1, res*nums[i], add, sub, mul-1, div)
if div:
dfs(i+1, int(res/nums[i]), add, sub, mul, div-1)
dfs(1, nums[0], add, sub, mul, div)
print(max_)
print(min_)
반응형
'백준' 카테고리의 다른 글
[백준]15단계 11047 동전 0 파이썬 (0) | 2020.11.10 |
---|---|
[백준]가장 긴 바이토닉 부분 수열 11054 파이썬 (0) | 2020.11.10 |
[백준]N과 M(2) 15650번 파이썬 (0) | 2020.11.03 |
[백준알고리즘] 15652번 N과M(4) 파이썬 (0) | 2020.10.06 |
[백준알고리즘] 2447번 별찍기 파이썬 (0) | 2020.10.06 |