6 条题解
-
-1
信息
- ID
- 678
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 283
- 已通过
- 123
- 上传者
#include<bits/stdc++.h>
using namespace std;
int w[105], v[105];
int dp[1005];
int main()
{
int t,m;
cin>>t>>m;
for(int i=1;i<=m;i++){
cin>>w[i]>>v[i];
}
for(int i=1;i<=m;i++)
{
for(int j=t;j>=w[i];j--){
dp[j]=max(dp[j-w[i]]+v[i], dp[j]);
}
}
cout<<dp[t];
return 0;
}
浅浅格式化一下~
#include<bits/stdc++.h>
using namespace std;
int w[105],v[105];
int dp[1005];
int main(){
int t,m;
cin>>t>>m;
for(int i=1;i<=m;i++){
cin>>w[i]>>v[i];
}
for(int i=1;i<=m;i++){
for(int j=t;j>=w[i];j--){
dp[j]=max(dp[j-w[i]]+v[i],dp[j]);
}
}
cout<<dp[t];
return 0;
}