2469:电池的寿命

描述

小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电。为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,有的可能就只能使用3个小时。显然如果他只有两个电池一个能用5小时一个能用3小时,那么他只能玩3个小时的游戏,有一个电池剩下的电量无法使用,但是如果他有更多的电池,就可以更加充分地利用它们,比如他有三个电池分别能用3、3、5小时,他可以先使用两节能用3个小时的电池,使用半个小时后再把其中一个换成能使用5个小时的电池,两个半小时后再把剩下的一节电池换成刚才换下的电池(那个电池还能用2.5个小时),这样总共就可以使用5.5个小时,没有一点浪费。

现在已知电池的数量和电池能够使用的时间,请你找一种方案使得使用时间尽可能的长。

输入

输入包含多组数据。每组数据包括两行,第一行是一个整数N (2 ≤ N ≤ 1000),表示电池的数目,接下来一行是N个正整数表示电池能使用的时间。

输出

对每组数据输出一行,表示电池能使用的时间,保留到小数点后1位。

方法

  (神奇做法)找到电池最大电量MAX,以及剩下的所有的其他电池电量和SUM; 如果MAX<SUM,就一定可以保证把所有电量消耗完,时间为总时间除以2;否则,这块大电池一定不能被消耗完,即总时间为SUM;

具体原因可以用三块电池来模拟(其实我也是看的题解);这里上代码:

 1 /////////////////////////
 2 //
 3 //6-26   PAx: Homii_wors
 4 //
 5 //Name:  N2469Dianc‘sSM
 6 //
 7 //Solut: NP
 8 //
 9 /////////////////////////
10 #include <bits/stdc++.h>
11 #define rea {ios::sync_with_stdio(false);cin.tie(NULL);}
12 bool ne(int x,int y){ return x>y;}
13 using namespace std;
14 int main()
15 {
16     int n;
17     double temp,max_,all;
18     while(scanf("%d",&n)!=EOF)
19     {
20         all=0,max_=0;
21         for(int i=1;i<=n;i++)
22         {
23             cin>>temp;
24             all+=temp;
25             max_=max(max_,temp);
26         }
27         double ort=all-max_;
28         if(ort<=max_) printf("%.1lf\n",ort);
29         else printf("%.1lf\n",all/2.0);
30     }
31     return 0;
32 }

另外,输出格式不对会导致蜜汁错误:

时间: 2024-10-12 17:23:48

2469:电池的寿命的相关文章

电池的寿命

总时间限制:  1000ms 内存限制:  65536kB 描述 小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电.为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,有的可能就只能使用3个小时.显然如果他只有两个电池一个能用5小时一个能用3小时,那么他只能玩3个小时的游戏,有一个电池剩下的电量无法使用,但是如果他有更多的电池,就可以更加充分地利用它们,比如他有三个电池分别能用3.3.5小时,他可以先使用两节能用3个

3468:电池的寿命(贪心算法)

查看 提交 统计 提示 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电.为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,有的可能就只能使用3个小时.显然如果他只有两个电池一个能用5小时一个能用3小时,那么他只能玩3个小时的游戏,有一个电池剩下的电量无法使用,但是如果他有更多的电池,就可以更加充分地利用它们,比如他有三个电池分别能用3.3.5

整理小朋友在noi.openjudge上的作业(4)

第四章(含小学奥数)计97题,已完成8题 4.1 算法之排序和算法性能   题目ID 标题 分数 尝试人数   1625 Sequence Median 10 90   1754 字符串数组排序问题 10 49   1999 日志排序 10 50   4363 瑞士轮 10 101 4.2 算法之数论   题目ID 标题 分数 尝试人数   1350 Euclid's Game 10 223   1486 A Funny Game 10 70   185 反正切函数的应用 10 44   241

追逐学长的背影 - 2015年10月

https://www.cnblogs.com/DaD3zZ-Beyonder/archive/2015/10.html 加油啊布丁酱! 跳过了一个LIS的随笔.(LIS类似升序的单调队列) 2704:寻找平面上的极大点 先按x的大于序排序,再按y的大于序排序.从第一个点开始找,记录当前最大的y,每次新的y比当前y大的时候更新y. $O(nlogn)$ 2469:电池的寿命 首先看到这里的直觉就是总电量的一半(因为是连续的,所以可以通过几颗电池去削减大电池的电量,构成两个相等的电池之后可以轮流削

IBM DS4700存储更换控制器电池

存储控制器中都会使用电池来保证当发生意外断电时,cache中的数据可以写到硬盘上,而不会丢失.一般存储电池的寿命为3年. 今天为客户的 DS4700存储更换了电池,在这里记录一下更换步骤及注意事项 更换步骤: 使用SM软件登陆到DS4700的管理界面上,注意连接方式,DS4700 2个控制器的管理口都要连通,可以将2个控制器的管理口和笔记本都连接到1台傻瓜交换机上,能ping通默认的管理IP. 管理口 默认IP 控制器1管理口1 192.168.128.101 控制器1管理口2 192.168.

EV电池分类

在电池的大家族中,蓄电池的种类是最多的,共同的特点是可以经历多次充电.放电循环,反复使用,这也正是蓄电池作为电动汽车动力源的基础.当然,并不是所有的蓄电池都适合应用于电动汽车,从全球新能源汽车的发展来看,最常用的还是铅酸电池.镍氢电池以及锂离子电池. 容量:在一定放电条件下可从电池获得的电量.称为容量.以Q表示,单位为Ah. 电化当量越小.电池容量越大. 恒电阻时.常以电池从开始放电到终止电压所能维持的时间来表示. 刚制做出来.尚未使用的一次电池或刚完全充电的二次电池.以规定的温度和放电率放电到

android 获得电池状态

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientati

电池厂家为您解答关于洗地机电池使用中的小疑惑

我们先来了解哪些因素会影响洗地机电池的寿命.其实比如欠压.过压.过流.存储钝化.温度.充放电老化都是会影响电池寿命的重要因素.接下来一起来探讨一下吧.如果使用原厂电源适配器,一般都会有过压.稳压.过流保护功能,所以前三者不用担心.在使用过程中对洗地机电池影响较大的其实是充放电老化,尤其是深度充放和大电流充放.现在洗地机电池基本都采用了锂离子电池,锂离子电池过度放电会导致锂离子片层结构不稳定而出现塌陷,一旦塌陷便会造成严重的损害.如果过度充电则会导致锂离子堵塞负极碳结构,造成锂离子无法释放,洗地机

2017.12.17~2017.12.24

最近这两个星期的做题计划 (打'.'的是可做可不做,打'!'的是必做,打'?'的是选做) Openjudge  2.2 8758 .2的幂次方表示                          AC1696 !逆波兰表达式                            AC7592 !求最大公约数问题                     AC1750 !全排列666   !放苹果(递归) Openjudge  1.11 1       !查找最接近的元素4       .网线主管