社区讨论

此题有毒!!!

P1853投资的最大效益参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi4hiqy4
此快照首次捕获于
2025/11/18 19:23
4 个月前
此快照最后确认于
2025/11/18 19:23
4 个月前
查看原帖
该程序能过大部分点
CPP
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int s,n,d;
int a[15][2],f[10000100];
void init(){
    scanf("%d%d%d",&s,&n,&d);
    for(int i=0;i<d;i++){
        scanf("%d%d",&a[i][0],&a[i][1]);
        a[i][0]/=1000;
    }
}
void work(){
    for(int i=0;i<n;i++){
        memset(f,0,sizeof(f));
        for(int k=0;k<d;k++){
            for(int j=1;j<=(s/1000);j++){
                if(j>=a[k][0]){
                    f[j]=max(f[j],f[j-a[k][0]]+a[k][1]);
                }
            }
        }
        int m;
        for(int j=0;j<=(s/1000);j++){
            if(f[j]>m){
                m=f[j];
            }
        }
        s+=m;
    }
}
int main(){
    init();
    **for(int i=0;i<0;i++);**
    work();
    printf("%d",s);
    return 0;
}
打掉倒数第四行的完全无用的for循环后,就全WA了。。。。。 求解释。。。

回复

3 条回复,欢迎继续交流。

正在加载回复...