当前位置: 首页 > ai >正文

小可爬楼

时间限制:1秒        内存限制:128M

题目描述

小可在上一个题中,把A1这栋楼建的非常高,现在他在这栋楼里建了 n 阶台阶。

第1阶台阶比地面高 a1a​1​​ 厘米,第 i 阶台阶比前一阶台阶高 aia​i​​ 厘米。

现在小可由 q 次查询每次查询输入一个正整数 x ,表示小可的跳跃高度为 x 厘米,所以小可的跳跃高度x至少为 aia​i​​ 的时候,才能爬上第 i 阶台阶。

现在小可想知道,对于每次查询的 x,他最多可以距离地面多高。

输入描述

第一行:输入一个正整数 t ,表示多组输入的测试样例数。

对于每组数据:

第一行:输入两个正整数 n 和 q,表示楼梯的数量和查询次数。

第二行:输入 n 个正整数 aia​i​​ ,表示第 i 阶台阶比 i-1 阶台阶高多少。

第三行:输入 q 个整数,表示q次查询,每次输入为小可的跳跃高度。

输出描述

对于每组数据,输出一行 q 个整数,表示小可最多可以距离地面多高。

输入样例
 
  1. 3
  2. 4 5
  3. 1 2 1 5
  4. 1 2 4 9 10
  5. 2 2
  6. 1 1
  7. 0 1
  8. 3 1
  9. 1000000000 1000000000 1000000000
  10. 1000000000
输出样例
 
  1. 1 4 4 9 9
  2. 0 2
  3. 3000000000
数据描述

25%的数据下:1≤t≤2,1≤n,q≤10^3,1≤ai≤1000

100%的数据下:1≤t≤100,1≤q,n≤2×10^5,0≤ai,xi≤10^9​​ 且多组输入的 n 的和不超过 2×1052×10​5​​ ,多组输入的 q 的和不超过 2×10^5

样例解释

样例1解释:如图,

如果小可跳跃高度为1,则只能爬 1级楼梯,所以他能爬到的最高高度是 1 厘米 。

如果小可跳跃高度为 2 或 4 ,那么他只能爬 1、 2和 3级楼梯,所以他能爬到的最高点是 1+2+1=4 厘米。

如果小可跳跃高度为 9 或 10,那么他可以爬上整个楼梯,所以他能爬到的最高处是1+2+1+5=9 厘米。

#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
const int N = 2*1e5+5;
long long n,a[N],T,x,q,dp[N],r[N];
int main(){
// 	freopen("climbing.in","r",stdin);
// 	freopen("climbing.out","w",stdout);scanf("%lld",&T);while(T--){scanf("%lld%lld",&n,&q);memset(r,0,sizeof r);	memset(dp,0,sizeof dp);	for(int i=1;i<=n;i++) scanf("%lld",&a[i]);for(int i=1;i<=n;i++) r[i]=r[i-1]+a[i];for(int i=1;i<=n;i++){dp[i]=max(dp[i-1],a[i]);}for(int i=1;i<=q;i++){scanf("%lld",&x);int pos;if(x>=dp[n]) {pos=n;goto A;	}for(int j=1;j<=n;j++){if(x<dp[j]){pos=j-1;goto A;	}}A: printf("%lld ",r[pos]);}printf("\n");}return 0;
}

 

http://www.xdnf.cn/news/8824.html

相关文章:

  • 通过 Terraform 构建您的第一个 Azure Linux 虚拟机
  • 湖仓融合的“最后一公里”:StarRocks 存算分离如何优化湖上实时分析?
  • openssl 使用生成key pem
  • 万事如函数
  • Windows File Copy
  • 第11次课 while循环
  • (27)运动目标检测 之 分类(如YOLO) 数据集自动划分
  • 关于多类型数据划分清洗的整理
  • 09_模型训练篇-卷积(上):如何用卷积为计算机“开天眼”?
  • 【C语言】指针全局变量
  • PostGIS使用小结
  • 微雪墨水屏 如何 控制绘制图形(如点、线、矩形等)线条粗细或点的大小
  • ChatGPT+知网,AI如何辅助真实科研写作流程?
  • 以太坊的基本理解
  • 2025年- H47-Lc155 --102. 二叉树的层序遍历(队列、广搜)--Java版
  • STL-从list节点创建和释放展开(内存管理)
  • Claude Code Agent 模式深度解读(一)!Anthropic提出的下一代Code CLI工具
  • 第四章 面向对象(基础)
  • ​​UniBoard:私有化部署,导航笔记文件一站式管理
  • JavaScript 中的 structuredClone() 如何彻底改变你的对象复制方式
  • 几个直觉泵问题
  • 线程池优雅关闭的哲学
  • java基础知识回顾3(可用于Java基础速通)考前,面试前均可用!
  • 空间计算的未来:在通用芯片上构建高可靠系统
  • 沙井SMT贴片加工核心工艺解析
  • JVM 的垃圾回收机制
  • Linux线程互斥与同步(下)(30)
  • 软件质量保证与测试实验
  • 历年北京师范大学保研上机真题
  • 数据库设计核心流程