-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path14888.py
More file actions
42 lines (28 loc) · 747 Bytes
/
Copy path14888.py
File metadata and controls
42 lines (28 loc) · 747 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import sys
sys.setrecursionlimit(100000)
Min = 1000000001
Max = -1000000001
N = int(sys.stdin.readline())
numbers = list(map(int,sys.stdin.readline().split()))
operators = list(map(int,sys.stdin.readline().split()))
def dfs(idx,result):
global Max, Min
if idx == N-1:
Max = max(Max, result)
Min = min(Min, result)
return
for i in range(4):
if operators[i] != 0:
operators[i] -= 1
if i == 0:
dfs(idx+1, result + numbers[idx+1])
elif i == 1:
dfs(idx+1, result - numbers[idx+1])
elif i == 2:
dfs(idx+1, result * numbers[idx+1])
elif i == 3:
dfs(idx+1, int(result / numbers[idx+1]))
operators[i] += 1
dfs(0,numbers[0])
print(Max)
print(Min)