n = int(input())
menu = []
for i in range(n):
menu.append(list(map(int, input().split())))
answer = 99999999999
def dfs(depth,sour,bitter):
global answer,menu,n
fla = abs(sour-bitter)
if answer > fla and sour!=1:
answer = fla
for i in range(depth,n):
sour*=menu[i][0]
bitter+=menu[i][1]
depth+=1
dfs(depth,sour,bitter)
sour//=menu[i][0]
bitter-=menu[i][1]
depth-=1
dfs(0,1,0)
print(answer)
'''
如果我们输入:
7
7 1297
9 1230
4 5780
4 1235
3 7652
8 979
10 977
则会得到:41
'''
我们来贴一下别人一年前的帖子:
https://www.luogu.com.cn/discuss/show/217678
和我的错法一摸一样(虽然其是cpp),然后就没有踪影了。