zoukankan      html  css  js  c++  java
  • 【OpenJ_Bailian

    电池的寿命

    Descriptions:

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

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

    Input

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

    Output

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

    Sample Input

    2
    3 5
    3
    3 3 5
    

    Sample Output

    3.0
    5.5

    题目链接:
    https://vjudge.net/problem/OpenJ_Bailian-3468

    比较水的一题,两种情况

    1、寿命最长的电池寿命高于其他所有电池寿命之和,此时答案是其他电池寿命之和

    2、寿命最长的电池寿命小于或等于其他所有电池寿命之和,此时答案就是总电池寿命的一半

    AC代码:

    #include <iostream>
    #include <cstdio>
    #include <fstream>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <cstring>
    #include <map>
    #include <stack>
    #include <set>
    #include <sstream>
    #define mod 1000000007
    #define eps 1e-6
    #define ll long long
    #define INF 0x3f3f3f3f
    #define ME0(x) memset(x,0,sizeof(x))
    using namespace std;
    int main()
    {
        int n;
        double a[1005];
        while(cin >> n)
        {
            ME0(a);
            for(int i=0; i<n; i++)
                cin>>a[i];
            sort(a,a+n);
            double sum=0;
            for(int i=0; i<n-1; i++)
                sum+=a[i];
            if(a[n-1]>sum)
                printf("%.1lf
    ",sum);
            else
            {
                double t=(sum+a[n-1])/2;
                printf("%.1lf
    ",t);
            }
        }
    }
  • 相关阅读:
    eclipse中修改工程的Android版本
    解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:
    JavaScript 消息框
    JavaScript HTML DOM 元素(节点)
    JavaScript HTML DOM 事件
    JavaScript HTML DOM
    JavaScript 表单验证
    JavaScript 错误
    SQL利用Case When Then多条件判断
    SQL学习一
  • 原文地址:https://www.cnblogs.com/sky-stars/p/11073110.html
Copyright © 2011-2022 走看看