dp普-,
but......我只会dfs......
#include<bits/stdc++.h>
using namespace std;
int a[505],b[505],n,l,sum=0,ans=0x7fffffff,m=0;
void dfs(int x){
if(m>=ans){
return;
}
if(sum>=l){
ans=min(ans,m);
return;
}
if(x==n){
return;
}
m+=a[x];
sum+=b[x];
dfs(x+1);
m-=a[x];
sum-=b[x];
dfs(x+1);
}
int main(){
cin>>n>>l;
for(int i=0;i<n;i++){
cin>>a[i]>>b[i];
sum+=b[i];
}
if(sum<l){
cout<<"no solution";
return 0;
}
sum=0;
dfs(0);
cout<<ans;
return 0;
}