https://ac.nowcoder.com/acm/problem/24979
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=6e4+10;
const int inf=0x3f3f3f3f;
int dp[maxn],p[maxn],c[maxn];
int main(){
int n,h;
cin>>n>>h;
for(int i=1;i<=n;i++) cin>>p[i]>>c[i];
memset(dp,inf,sizeof(dp));
dp[0]=0;
for(int i=1;i<=n;i++)
for(int j=p[i];j<=h+5000;j++)
dp[j]=min(dp[j],dp[j-p[i]]+c[i]);
int mx=inf;
for(int i=h;i<=h+5000;i++) mx=min(dp[i],mx);
cout<<mx;
}