#include <bits/stdc++.h>
using namespace std;
int n,v;
const int MAXN=40;
int a[MAXN],b[MAXN];
int ans=-1;
int ah,bh;
int k;
bool tem[MAXN];
void dfs(int x){
if(ah+bh>=v){
if(ans==-1){
ans=abs(ah-bh);
}else if(ans>abs(ah-bh)){
ans=abs(ah-bh);
}
}
if(ans==0){
return;
}
if(ah+bh<v){
if(k==n){
return;
}
for(int i=1;i<=n;i++){
if(!tem[i]){
k++;
ah+=a[i];
bh+=b[i];
tem[i]=true;
dfs(k);
k--;
ah-=a[i];
bh-=b[i];
tem[i]=false;
}
}
}
}
int main(){
cin>>n>>v;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
}
dfs(1);
cout<<ans<<endl;
return 0;
}
请问大佬这个怎么办啊