def sol(depth, total, plus,minus, multi,divide):
global maximum,minimum
if depth==n:
maximum=max(maximum, total)
minimum=min(minimum,total)
return
if plus:
sol(depth+1,total+arr[depth],plus-1,minus,multi,divide)
if minus:
sol(depth+1,total-arr[depth], plus,minus-1,multi,divide)
if multi:
sol(depth+1,total*arr[depth],plus,minus,multi-1,divide)
if divide:
sol(depth+1,int(total/arr[depth]),plus,minus,multi,divide-1)
maximum=-1e9
minimum=1e9
n=int(input())
arr=list(map(int,input().split()))
op=list(map(int,input().split()))
sol(1,arr[0],op[0],op[1],op[2],op[3])
print(maximum)
print(minimum)
'백준 풀이' 카테고리의 다른 글
백준 1966번 파이썬 (0) | 2022.08.30 |
---|---|
백준 2805번 파이썬 이분탐색 (0) | 2022.08.30 |
백준 11724번 파이썬 (dfs) (0) | 2022.08.29 |
백준 2193번 파이썬 (0) | 2022.08.29 |
백준 4948번 파이썬 (0) | 2022.08.29 |