2MLE4WA4RE0分
查看原帖
2MLE4WA4RE0分
327281
Phigros_Guest楼主2023/8/30 10:43

知道MLE的原因,但不会改。
其余错误根本不知道为什么。

本题运用了已经AC的采药代码,将01背包改成了完全背包,并最大化加大了数据范围,然而20%的数据都没有过。

代码如下

#include<bits/stdc++.h>
using namespace std;
int t,m,f[1001][100001],w[101],c[101];
int main()
{
    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=t;j>=0;j--)
    {
        if(w[i]>j) f[i][j]=f[i-1][j];
        else f[i][j]=max(f[i-1][j],f[i][j-w[i]]+c[i]);
    }
    cout<<f[m][t];
    return 0;
}
2023/8/30 10:43
加载中...