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

电池的寿命(不清楚是什么类型/虽然有标明是贪心)

这道题做起来心累呀!

题目意思是给你一串值,每个值代表电池的存电量,你可以交替使用,若要使机器工作,必须要有两个电池同时工作,问你最多工作多长时间。

这题的思路是:

当除最大电池外的其余所有电池的可用时长都小于最大电池时,其他电池相当于轮流陪着最大电池耗尽。

如果不是这种情况,那么所有电池就可以混在一起,来回切换,也就是最后的时长是所有时长的 和除以2

有了这个思路那就可以直接看代码了

// 电池的寿命
# include<iostream>
# include<vector>
# include<iomanip>
using namespace std;int main()
{int N;cin>>N;vector<int> arr(N);int max = 0;int sum = 0;for(int i=0;i<N;i++){cin>>arr[i];if(max<arr[i]){max = arr[i];}sum+=arr[i];}double result;if(max>sum-max)result = sum-max;else{result = 1.0*sum/2;}cout<<fixed<<setprecision(1)<<result<<endl;return 0;
}

最让人头大的是刚才的思路想不出来啊,不知道是不是越来越笨了。另外一个是他要求只能是整数或以.5结尾(最后说给的例子还不一致,😂)

这里还需要知道的是怎么在C++里面规定输出一位

用到头函数# include<iomanip>

然后是cout<<fixed<<setprecision(1)<<result<<endl;

前面的cout<<fixed<<setprecision(1)是固定要写的,特别是fixed这个词及其顺序,1代表小数点后几位,会用的话比C方便很多

相关文章:

  • DAX 权威指南1:DAX计算、表函数与计算上下文
  • JS DOM操作与事件处理从入门到实践
  • Flink和Spark的选型
  • 【vue】vuex实现组件间数据共享 vuex模块化编码 网络请求
  • 使用 Jackson 在 Java 中解析和生成 JSON
  • C.printf 函数基础
  • 大模型的RAG技术系列(三)
  • linux和linux 、linux和windows实现文件复制笔记
  • 基于ssm+mysql的快递管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • C语言复习--柔性数组
  • Vite Proxy配置详解:从入门到实战应用
  • Activity动态切换Fragment
  • 养生:为健康生活添彩
  • 【Linux第三章】vim
  • 达索PLM系统是什么?有什么用?
  • 亿级流量系统架构设计与实战(六)
  • 【MySQL】事务(重点)
  • 【计算机视觉】OpenCV实战项目:FunnyMirrors:基于OpenCV的实时哈哈镜效果实现技术解析
  • PyTorch API 9 - masked, nested, 稀疏, 存储
  • Linux 阻塞和非阻塞 I/O 简明指南
  • 航行警告:渤海海峡黄海北部执行军事任务,禁止驶入
  • 为何发胖?如何减肥?一个医学体重管理中心的探索启示
  • 数理+AI+工程,上海交大将开首届“笛卡尔班”招生约20名
  • 中日有关部门就日本水产品输华问题进行第三次谈判,外交部回应
  • 保利42.41亿元竞得上海杨浦东外滩一地块,成交楼面单价超8万元
  • 洲际酒店:今年第一季度全球酒店平均客房收入同比增长3.3%