关于#csp C语言#

CSP 何以包邮 C语言 0-1背包解法,感觉写得没问题,常规的测试用例都过,但是0分。
CSP题目如下

img

代码如下

#include
int a[33];
int f[33][300003]; 
int main(){
    int n,x,sum;
    scanf("%d %d",&n,&x);
    int i,j;
    for(i=1;i1;i++){
        scanf("%d",&a[i]);
        sum+=a[i];
    }
    x=sum-x;
    for(i=1;i<=n;i++){
        for(j=0;j<=x;j++){
            if(j-a[i]>=0){
                if(f[i-1][j]>=f[i-1][j-a[i]]+a[i]){
                    f[i][j]=f[i-1][j];
                }
                else{
                    f[i][j]=f[i-1][j-a[i]]+a[i];
                }
            }
            else{    
                f[i][j]=f[i-1][j];
            }
        }
    }
    printf("%d",sum-f[n][x]);
    return 0;
}

参考这个
https://blog.csdn.net/m0_59304732/article/details/128065155