File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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 ()
You can’t perform that action at this time.
0 commit comments