题解
查看原帖
题解
949074
weew楼主2024/10/26 16:42
#include<bits/stdc++.h>
using namespace std;
struct food{
	int s;
	int b;
}a[11];
int n;
long long minn=LLONG_MAX;
void dfs(int x,long long sums,long long sumk,int cnt){
	if(x>n){
		if(cnt>=1){
			long long t=abs(sums-sumk);
			minn=min(t,minn); 
		}
		return;
	}else{
		for(int i=1;i<=2;i++){
			if(i==1){
				dfs(x+1,sums*a[x].s,sumk+a[x].b,cnt+1);
			}else{
				dfs(x+1,sums,sumk,cnt);
			}
		} 
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].s>>a[i].b;
	}
	dfs(1,1,0,0);
	cout<<minn; 
}
2024/10/26 16:42
加载中...