P2918 Buying Hay S(完全背包基础)

\([T,T+5000]\) 区间内最小花费即可。

#include<bits/stdc++.h>
using namespace std;
const int N=55005;
int f[N],n,V,ans=INT_MAX;
int main(){
    scanf("%d%d",&n,&V);
    for(int i=1;i<=V+5000;i++) f[i]=1e9;
    for(int i=1,w,v;i<=n;i++){
        scanf("%d%d",&w,&v);
        for(int j=w;j<=V+5000;j++) f[j]=min(f[j],f[j-w]+v);
    }
    for(int i=V;i<=V+5000;i++) ans=min(ans,f[i]);
    printf("%d\n",ans);
    return 0;
}
posted @ 2026-02-13 17:55  2025ing  阅读(0)  评论(0)    收藏  举报