help!!!10分

回复帖子

@老y万人敬仰。 2018-10-14 22:09 回复

只A了第三个点。。。

#include<bits/stdc++.h>
using namespace std;
#define N 110
#define M 1000010
int n,v;
int c[N],w[M];
int f[M];
int main()
{
    int i,j;
    scanf("%d%d",&n,&v);
    for(i=1;i<=n;++i) scanf("%d",&c[i]);
    for(i=1;i<=n;++i) scanf("%d",&w[i]);
    for(i=1;i<=n;++i){
        for(j=v;j>=c[i];--j)
        f[j]=max(f[j],f[j-c[i]]+w[i]);
    }
    printf("%d\n",f[v]);
    return 0; 
 } 
@simonpsy 2019-01-20 09:04 回复 举报
#include<bits/stdc++.h>
using namespace std;
int n,v;
int c[100000],w[1000000];
int f[100000];
int main()
{
    int i,j;
    cin>>n>>v;
    for(i=1;i<=n;i++)
        cin>>c[i]>>w[i];
    for(i=1;i<=n;i++)
        for(j=v;j>=c[i];--j)
            f[j]=max(f[j],f[j-c[i]]+w[i]);
    cout<<f[v];
    return 0; 
 } 
反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。