https://www.acmicpc.net/problem/14888
import sys
input = sys.stdin.readline
N = int(input())
num_li = list(map(int, input().split(" ")))
s_li = list(map(int, input().split(" ")))
min_num = 1e9
max_num = -1e9
def dfs(size, total, plus, minus, multi, div):
global min_num, max_num
if size == N:
max_num = max(total, max_num)
min_num = min(total, min_num)
return
if plus:
dfs(size+1, total+num_li[size], plus-1, minus, multi, div)
if minus:
dfs(size+1, total-num_li[size], plus, minus-1, multi, div)
if multi:
dfs(size+1, total*num_li[size], plus, minus, multi-1, div)
if div:
dfs(size+1, int(total/num_li[size]), plus, minus, multi, div-1)
dfs(1, num_li[0], s_li[0], s_li[1], s_li[2], s_li[3])
print(max_num, min_num, sep='\n')'코딩테스트 > 코딩테스트 문제풀이' 카테고리의 다른 글
| [Python] 백준 <1058-친구> (0) | 2025.06.09 |
|---|---|
| [Python] 백준 <4948-베르트랑 공준> (0) | 2025.06.09 |
| [Python] 백준 <15652-N과 M (4)> (0) | 2025.06.04 |
| [Python] 백준 <14889-스타트와 링크> (0) | 2025.05.28 |
| [Python] 백준 <2012-등수 매기기> (0) | 2025.05.27 |