社区讨论

56pts,求调T_T

P2871[USACO07DEC] Charm Bracelet S参与者 2已保存回复 7

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@mhj0y9g1
此快照首次捕获于
2025/11/03 18:56
4 个月前
此快照最后确认于
2025/11/03 18:56
4 个月前
查看原帖
求求各位帅气的大佬看看怎么回事,只过了1 2 3 4 11 q_q谢谢大家
CPP
#include<bits/stdc++.h>
using namespace std;

int dp[12881]={  0  };
int priceC[401];
int sizeC[401];

int main(){
    int Ncount = 0,Msize = 0,maxsize = 0,maxprice=0;
    cin >> Ncount >> Msize;
    for (int i = 1;i<=Ncount;i++)
    {
        cin >> sizeC[i] >> priceC[i];
        maxsize+=sizeC[i];
        maxprice+=priceC[i];
    }
    if (Msize>=maxsize){
        cout << maxprice;
        return 0;
    }
    
    for (int items = 1;items<=Ncount;items++){
        for (int size = Msize;size>=sizeC[items];size--){
            
                dp[size] = max(
                    dp[size],
                    dp[size - sizeC[items]] + priceC[items]
                );
        }
    }
    // for (int size = 1;size<=Msize;size++){
    //     for (int items = 1;items<=Ncount;items++){
    //         printf("%d ",dp[items][size]);
 
    //     }
    //     printf("\n");
    // }
    printf("%d",dp[Msize]);
    return 0;
}

回复

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

正在加载回复...