先上题目链接:P1616 疯狂的采药
然后放AC代码:
#include<bits/stdc++.h> #define ll long long using namespace std; ll f[100010]; ll timee[10010]; ll w[10010]; int main() { ll t,m; cin>>t>>m;//t总时间,m总草药 //time时间,w价值 for(ll i=1;i<=m;i++) { scanf("%lld",&timee[i]); scanf("%lld",&w[i]); } for(ll i=1;i<=m;i++) for(ll j=timee[i];j<=t;j++) { f[j]=max(f[j],f[j-timee[i]]+w[i]); } cout<<f[t]<<endl; }