UVA劲歌金曲

Solution

很容易想到这是一个01背包,因为还要留时间,就先把时间的1扣掉,之后再加上劲歌金曲的678秒,其它的细节注意一下就好了。

Code

复制代码
#include<bits/stdc++.h>
using namespace std;
int n,t,w[100005],a[100005],f[100005];
int main(){
    freopen("a.in","r",stdin);
    int T,cnt=0;
    scanf("%d",&T);
    while(T--){
        scanf("%d%d",&n,&t);
        --t;
        fill(f,f+t+1,0);//记得要+1否则清不到f[t]
        fill(a,a+t+1,0);
        for(int i=1;i<=n;i++)
         scanf("%d",&w[i]);
        for(int i=1;i<=n;i++)
         for(int j=t;j>=w[i];j--)
          if(f[j]<f[j-w[i]]+1)
           f[j]=f[j-w[i]]+1,a[j]=a[j-w[i]]+w[i];//因为还要使总长度最长
          else
           if(f[j]==f[j-w[i]]+1&&a[j]<a[j-w[i]]+w[i])//同时记录总长度
            a[j]=a[j-w[i]]+w[i];
        printf("Case %d: %d %d\n",++cnt,f[t]+1,a[t]+678);//最后+1再+678
    }
}
复制代码

 

posted @   Coder_cjh  阅读(176)  评论(0)    收藏  举报
编辑推荐:
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
阅读排行:
· 7 个最近很火的开源项目「GitHub 热点速览」
· DeepSeekV3:写代码很强了
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提
· AI浏览器自动化实战
点击右上角即可分享
微信分享提示