Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
148792 朱悦晨 书架问题1 C++ 解答错误 0 125 MS 372 KB 416 2024-05-25 14:50:09

Tests(0/32):


#include<bits/stdc++.h> using namespace std; int n,s,w[10005],l[10005],dp[10005],ans=0; int main(){ memset(dp,0,sizeof(dp)); cin>>n>>s; for(int i=1;i<=n;i++){ cin>>w[i]>>l[i]; } int q=0; for(int i=1;i<=n;i++){ for(int k=l[i];k<=s;k++){ if(dp[k-l[i]]+w[i] > dp[k]){ dp[k] = dp[k-l[i]]+w[i]; ans += q; q = 0; } q = max(q,w[i]); } } cout<<ans<<endl; return 0; }


测评信息: