经典且明显的完全背包
(记得开long long 哦,不然wa给你看(狗头))
ACcode:
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10,M=1e4+10;
long long f[N],c[M],w[M],t,m;
void solve() {
cin>>t>>m;
for(int i=1;i<=m;i++) cin>>w[i]>>c[i];
//完全背包
for(int i=1;i<=m;i++){//物品
for(int j=w[i];j<=t;j++){//体积
f[j]=max(f[j],f[j-w[i]]+c[i]);
}
}
cout<<f[t]<<"\n";
}
int main() {
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
solve();
return 0;
}
over~