码迷,mamicode.com
首页 > 其他好文 > 详细

Gym - 102500E - Expeditious Cubing(基础数学)

时间:2020-04-04 19:04:13      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:二分   lse   最大的   sort   计算   eps   最小值   ubi   com   

题目链接
题目大意:一个人的成绩计算是舍弃5个成绩中的最高分与最低分然后计算平均值,现在你知道了4个值,和一个目标值, 问第5个值最大是多少的情况下平均值可以比目标值小。
??1.当4个值中的最大的三个值的平均值比目标值小的时候,无论第5个值是多大都行。
??2.当4个值中的最小的三个值的平均值比目标值大的时候,无论第5个值是多小都不行。
??3.所以说我们只要在最小值与次小值之间找一个符合题意的数就可以了,这里我们很容易想到二分,然后WA, 这里因为计算比较简单,所以我们可以把小数转换成整数来计算,避免出现精度问题。
??4.在?为什么小学数学O(1)都能解决的问题要用算法然后还哇了?

int main() {
    int arr[5];
    for (int i = 0, a, b; i<5; ++i) {
        scanf("%d.%d", &a, &b);
        arr[i] = 100*a+b;
    }
    sort(arr, arr+4);
    if (arr[1]+arr[2]+arr[3] <= arr[4]*3) printf("infinite\n");
    else if (arr[0]+arr[1]+arr[2] > arr[4]*3) printf("impossible\n");
    else {
        int tmp = arr[4]*3-arr[1]-arr[2];
        double ans = tmp/100.0+eps;
        printf("%.2f\n", ans);
    }
    return 0;
}

Gym - 102500E - Expeditious Cubing(基础数学)

标签:二分   lse   最大的   sort   计算   eps   最小值   ubi   com   

原文地址:https://www.cnblogs.com/shuitiangong/p/12633067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!