Skip to content

Commit 9b16fd2

Browse files
author
hangyeol
committed
99차 1번 문제 풀이
1 parent 46ecf1d commit 9b16fd2

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

live9/test99/문제1/백한결.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
min_value = float('inf')
2+
max_value = float('-inf')
3+
4+
def main():
5+
N = int(input())
6+
A = list(map(int, input().split()))[:N]
7+
operator = list(map(int, input().split()))[:4]
8+
9+
def dfs(i, now):
10+
global min_value, max_value
11+
12+
if i == N:
13+
min_value = min(min_value, now)
14+
max_value = max(max_value, now)
15+
else:
16+
if operator[0] > 0:
17+
operator[0] -= 1
18+
dfs(i + 1, now + A[i])
19+
operator[0] += 1
20+
if operator[1] > 0:
21+
operator[1] -= 1
22+
dfs(i + 1, now - A[i])
23+
operator[1] += 1
24+
if operator[2] > 0:
25+
operator[2] -= 1
26+
dfs(i + 1, now * A[i])
27+
operator[2] += 1
28+
if operator[3] > 0:
29+
operator[3] -= 1
30+
if now < 0:
31+
dfs(i + 1, -(-now // A[i]))
32+
else:
33+
dfs(i + 1, now // A[i])
34+
operator[3] += 1
35+
36+
dfs(1, A[0])
37+
38+
print(max_value)
39+
print(min_value)
40+
41+
if __name__ == "__main__":
42+
main()

0 commit comments

Comments
 (0)