#include<bits/stdc++.h>
using namespace std;
int n,sd[1001],kd[1001],s=1,k=0,minn=1e9;
bool c=1;
void dfs(int x){
if(x>n){
if(abs(s-k)<minn&&c)minn=abs(s-k);
return;
}
s*=sd[x];
k+=kd[x];
c=1;
dfs(x+1);
s/=sd[x];
k-=kd[x];
c=0;
dfs(x+1);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>sd[i]>>kd[i];
dfs(1);
cout<<minn;
return 0;
}
样例一过不去
in:
3
5 5
2 9
7 4
out:
0