倒水

倒水

https://ac.nowcoder.com/acm/problem/13228

这题不能二分...或许能二分也要讨论很多...
所以可以直接贪心...
直接算出平均的水温,再分类讨论一下即可,假如平均的水温比n个杯子里的都小,那么肯定大水缸是降温的.假如平均的水温比最大的要大,说明大水缸是升温的,不然我的大水缸的温度夹在两个max和min中间,那么一定是不能调节的..

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
double t[N],c[N];
int main()
{
    double T,C;
    int n;
    cin>>n;
    cin>>T>>C;
    double v=0.0;
    v+=T*C;
    double tmx=0.0,tmi=1e9,c1=C;
    for(int i=1;i<=n;i++)
    {
        cin>>t[i]>>c[i];
        v+=t[i]*c[i];
        c1+=c[i];
        tmx=max(t[i],tmx);
        tmi=min(t[i],tmi);

    }
    double temp=v/c1;
    if(temp<=tmi)//假如合并更小.
    {
        puts("Possible");
        printf("%.4f\n",tmi);
    }
    else if(temp>=tmx)
    {
        puts("Possible");
        printf("%.4f\n",temp);
    }
    else
    {
        puts("Impossible");
    }
    return 0;
}
lpt的小屋 文章被收录于专栏

我想要一份甜甜的爱情

全部评论
是不是还有东西没判断
点赞 回复 分享
发布于 01-19 16:39 四川
我感觉你最后一句话其实是有点问题的,平均温度在max和min直接并不能说明大水缸的温度在两个之间,完全有可能大水缸的水量很少,比如大水缸是(10,20),另外两个是(20,20)和(40,20),平均温度照样是在两者之间的.正确原因:主要是因为这种情况下平均温度是在两者之间的话,如果大水缸的温度比min小说明大水缸并不足以使比最低温高的水温降到比最低温低或者相等,而大水缸与最低温混合温度又是肯定比最低温低的,所以矛盾,反之如果大水缸的温度比max高也是一样,如果大水缸的温度在两者之间,那就更加不可能了
点赞 回复 分享
发布于 2022-08-11 21:27

相关推荐

点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
12
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务