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

T1 小美的数组询问(15分) - 美团编程题 题解

考试平台: 牛客网

题目类型: 30道单选题(60分)+ 2 道编程题 (15分 + 25分)

考试时间: 2024-03-09 (两小时)

题目描述

小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。
现在小美想知道,如果那些未知的元素在区间 [l,r] 范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?
共有q 次询问。

输入描述:

第一行输入两个正整数 n,q,代表数组大小和询问次数。
第二行输入n个整数 a i a_i ai,其中如果输入的 a i a_i ai 为 0,那么说明 a i a_i ai 是未知的。
接下来的q行,每行输入两个正整数 l,r,代表一次询问。
1 ≤ n , q ≤ 1 0 5 1\leq n,q \leq 10^5 1n,q105
0 ≤ a i ≤ 1 0 9 0 \leq a_i \leq 10^9 0ai109
1 ≤ l ≤ r ≤ 1 0 9 1\leq l \leq r \leq 10^9 1lr109

输出描述:

输出q行,每行输出两个正整数,代表所有元素之和的最小值和最大值。

示例:

输入:
3 2
1 0 3
1 2
4 4输出:
5 6
8 8说明:
只有第二个元素是未知的。
第一次询问,数组最小的和是 1+1=3=5,最大的和是 1+2+3=6。
第二次询问,显然数组的元素和必然为 8。

题解

n, q = map(int, input().split())
a = list(map(int, input().split()))tot = sum(a)
# 0 的个数
zero_cnt = sum([1 for v in a if v == 0])for _ in range(q):l, r = map(int, input().split())# 最小和: 0 都选 l# 最大和: 0 都选 rmin_sum, max_sum = tot + zero_cnt * l, tot + zero_cnt * rprint(min_sum, max_sum)

相关文章:

  • DHCP中继实验(华为)
  • Python图像处理:1.插值、频域变换与对比度增强
  • Android中的抽象类与接口的区别是什么?谈谈List, Set, Map的区别?
  • Linux系统——web服务拓展练习
  • Lesson 6 Convolutional Neural Network(CNN)
  • 【数据库】索引 视图 触发器 分页查询
  • 深入解析汽车MCU的软件架构
  • grafana table合并查询
  • 从零开始:神经网络(2)——MP模型
  • 编程笔记 html5cssjs 007 文章排版 颜真卿《述张长史笔法十二意》
  • lambda有先后顺序
  • el根据需求合并列
  • 基于php的用户登录实现(v2版)(持续迭代)
  • [贰],万能开篇HelloWorld
  • linux多线程编程使用互斥量的原理分析和应用实例
  • 自己简单写的 事件订阅机制
  • 《深入 React 技术栈》
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Debian下无root权限使用Python访问Oracle
  • JavaScript设计模式系列一:工厂模式
  • learning koa2.x
  • leetcode46 Permutation 排列组合
  • linux学习笔记
  • mysql innodb 索引使用指南
  • React+TypeScript入门
  • vue-router的history模式发布配置
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 赢得Docker挑战最佳实践
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​人工智能书单(数学基础篇)
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #Java第九次作业--输入输出流和文件操作
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (20050108)又读《平凡的世界》
  • (C#)一个最简单的链表类
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二开)Flink 修改源码拓展 SQL 语法
  • (分布式缓存)Redis持久化
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)用.Net的File控件上传文件的解决方案
  • .NET 4.0中的泛型协变和反变
  • .Net core 6.0 升8.0
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • ??javascript里的变量问题
  • @Transient注解
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现