- 装载问题
- 2023-09-02 21:33:16 @
#include<bits/stdc++.h>
using namespace std;
int n,m;
signed main()
{
cin>>n>>m;
vector<int>w(n);
for(int i=0;i<n;i++)
cin>>w[i];
vector<int>f(m+1,0);
for(int i=0;i<n;i++)
for(int v=m;v>=w[i];v--)
f[v]=max(f[v-w[i]]+w[i],f[v]);
cout<<f[m]<<endl;
return 0;
}
/*
5 10
7 2 6 5 4
*/
2 条评论
-
2230134娄耀 (2212238) LV 8 @ 2023-09-03 07:19:42
//我是用数组+动规过的 //代码见下 #include<bits/stdc++.h> using namespace std; int n,m,a[100005],dp[100005],ans=0; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) for(int j=m;j>=1;j--) if(j>=a[i]) dp[j]=max(dp[j],dp[j-a[i]]+a[i]); cout<<dp[m]; return 0; }
-
2023-09-02 21:34:12@
上面的是AC的
#include<bits/stdc++.h> using namespace std; long long n,m,w[25],f[25000000]; signed main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>w[i]; for(int i=1;i<=n;i++) for(int v=m;v>=w[i];v--) f[v]=max(f[v-w[i]]+w[i],f[v]); cout<<f[m]<<endl; return 0; } /* 5 10 7 2 6 5 4 */ ```这是WA的
- 1
信息
- ID
- 1572
- 难度
- 7
- 分类
- (无)
- 标签
- 递交数
- 15
- 已通过
- 8
- 通过率
- 53%
- 被复制
- 6
- 上传者