求助 玄两关
查看原帖
求助 玄两关
1621000
_Xiaoyao_楼主2024/12/23 21:32
#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

2024/12/23 21:32
加载中...