news 2026/10/6 12:40:20

【题解-洛谷】P1877 [HAOI2012] 音量调节

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【题解-洛谷】P1877 [HAOI2012] 音量调节

题目:P1877 [HAOI2012] 音量调节

题目描述

一个吉他手准备参加一场演出。他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都需要改变一次音量。在演出开始之前,他已经做好一个列表,里面写着每首歌开始之前他想要改变的音量是多少。每一次改变音量,他可以选择调高也可以调低。

音量用一个整数描述。输入文件中整数b e g i n L e v e l beginLevelbeginLevel,代表吉他刚开始的音量,整数m a x L e v e l maxLevelmaxLevel,代表吉他的最大音量。音量不能小于0 00也不能大于m a x L e v e l maxLevelmaxLevel。输入中还给定了n nn个整数c 1 , c 2 , c 3 , ⋯ , c n c_1,c_2,c_3,\cdots,c_nc1​,c2​,c3​,⋯,cn​,表示在第i ii首歌开始之前吉他手想要改变的音量是多少。

吉他手想以最大的音量演奏最后一首歌,你的任务是找到这个最大音量是多少。

输入格式

第一行依次为三个整数n nn,b e g i n L e v e l beginLevelbeginLevel和m a x L e v e l maxLevelmaxLevel。

第二行依次为n nn个整数c 1 , c 2 , c 3 , ⋯ , c n c_1,c_2,c_3,\cdots,c_nc1​,c2​,c3​,⋯,cn​。

输出格式

输出演奏最后一首歌的最大音量。如果吉他手无法避免音量低于0 00或者高于m a x L e v e l maxLevelmaxLevel,输出-1。

输入输出样例 #1

输入 #1

3 5 10 5 3 7

输出 #1

10

说明/提示

1 ≤ n ≤ 50 1\le n\le 501≤n≤50,1 ≤ c i ≤ m a x L e v e l 1\le c_i\le maxLevel1≤ci​≤maxLevel,1 ≤ m a x L e v e l ≤ 1000 1\le maxLevel\le 10001≤maxLevel≤1000,0 ≤ b e g i n L e v e l ≤ m a x L e v e l 0\le beginLevel\le maxLevel0≤beginLevel≤maxLevel。

代码1(二维数组)

#include<bits/stdc++.h>usingnamespacestd;constintN=50+10,M=1000+10;intn,beg,V,v,f[N][M],ans=-1;intmain(){scanf("%d%d%d",&n,&beg,&V);f[0][beg]=1;for(inti=1;i<=n;i++){cin>>v;for(intj=V;j>=0;j--){if(f[i-1][j]&&j+v<=V)f[i][j+v]=1;if(f[i-1][j]&&j-v>=0)f[i][j-v]=1;}}for(intj=V;j>=0;j--)if(f[n][j]){ans=j;break;}printf("%d",ans);return0;}

代码2(二维数组)

#include<bits/stdc++.h>usingnamespacestd;constintN=50+10,M=1000+10;intn,beg,V,v,f[N][M],ans=-1;intmain(){scanf("%d%d%d",&n,&beg,&V);f[0][beg]=1;for(inti=1;i<=n;i++){cin>>v;for(intj=V;j>=0;j--){if(j+v<=V)f[i][j]=f[i][j]||f[i-1][j+v];if(j-v>=0)f[i][j]=f[i][j]||f[i-1][j-v];}}for(intj=V;j>=0;j--)if(f[n][j]){ans=j;break;}printf("%d",ans);return0;}

结果

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 12:39:05

【高质量毕设开题】基于AI大模型+SpringBoot的社区医院慢性病智能化管理系统的设计与实现(源码+报告)

温馨提示&#xff1a; 本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a; 本人主页置顶文章(点我)开头有 CSDN平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a; 本人主页置顶文章(点我)开头有 CSDN 平…

作者头像 李华
网站建设 2026/10/6 12:38:01

【大数据毕设项目】基于大数据的人口统计特征与肥胖风险关联分析及可视化\面向健康管理的人口统计特征与肥胖风险可视化分析平台

文章目录 一、项目开发背景意义 二、项目开发技术 三、项目开发内容 四、项目展示 五、项目相关代码 六、最后 一、项目开发背景意义 随着社会经济的发展和人民生活方式的改变&#xff0c;肥胖问题日益成为影响公众健康的重要公共卫生挑战。传统的数据分析方式难以应对海…

作者头像 李华
网站建设 2026/10/6 12:35:38

开源项目吐槽大会:那些让人又爱又恨的开源项目

1. 引言&#xff1a;为什么我们需要一场吐槽大会开源项目让技术世界变得丰富多彩&#xff0c;但每个开发者心中都藏着几个「又爱又恨」的开源项目。本文以轻松幽默的视角&#xff0c;盘点那些让人忍不住吐槽的开源项目&#xff0c;并从中提炼出值得借鉴的经验教训。2. 吐槽大会…

作者头像 李华
网站建设 2026/10/6 12:35:37

云克隆luminex 技术实现 C5b9、GAS6、GREM1、LDH、PON1、RNASE3 高通量多因子检测

摘要&#xff1a;补体末端激活、细胞凋亡损伤、氧化应激、纤维化调控、粒细胞活化共同参与肾脏损伤、血管病变、肿瘤及炎症性疾病进程。C5b9&#xff08;膜攻击复合物&#xff09;、GAS6、GREM1、LDH、PON1、RNASE3 分别代表补体末端活化、TAM 受体配体信号、纤维化调控、细胞坏…

作者头像 李华
网站建设 2026/10/6 12:35:37

我是怎么从一个信息化总监,变成“随时能招3个AI程序员”的

我最常被问的一句话&#xff0c;不是“你们MES怎么实施”&#xff0c;而是&#xff1a;“朱哥&#xff0c;你一个做信息化管理的&#xff0c;怎么现在天天写代码&#xff1f;”我一般都这么回&#xff1a;不是我爱写代码&#xff0c;是我发现了一个更省事的方法。 我现在团队的…

作者头像 李华