倒水问题求温度最大
#include <iostream>
#include <algorithm>
#include <vector>
#include <iomanip>
using namespace std;
const int N=1e5+5;
double t[N],c[N];
int main()
{
double T,C;
int n; //输入n杯水
cin>>n;
cin>>T>>C; //输入大水缸的温度和体积
double s=0.0;//体积和温度乘积和
s=T*C;
double tmax=0.0,tmin=1e9,c1=C;
for(int i=1;i<=n;i++)//循环输入这n杯水的温度和体积
{
cin>>t[i]>>c[i];
s+=t[i]*c[i]; //所有水的体积温度乘积和
c1+=c[i]; //体积之和
tmax=max(t[i],tmax); //温度最大值
tmin=min(t[i],tmin); //温度最小值
}
double temp=s/c1; //混合后的温度
if(temp<=tmin)
{
cout<<"Possible"<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(4)<<tmin<<endl;
/*setiosflags(ios::fixed)和setprecision(4)连用控制小数点后输出
头文件:#include <iomanip>*/
}
else if(temp>=tmax)
{
cout<<"Possible"<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(4)<<temp<<endl;
}
else
{
cout<<"Impossible"<<endl;
}
return 0;
}
#include <algorithm>
#include <vector>
#include <iomanip>
using namespace std;
const int N=1e5+5;
double t[N],c[N];
int main()
{
double T,C;
int n; //输入n杯水
cin>>n;
cin>>T>>C; //输入大水缸的温度和体积
double s=0.0;//体积和温度乘积和
s=T*C;
double tmax=0.0,tmin=1e9,c1=C;
for(int i=1;i<=n;i++)//循环输入这n杯水的温度和体积
{
cin>>t[i]>>c[i];
s+=t[i]*c[i]; //所有水的体积温度乘积和
c1+=c[i]; //体积之和
tmax=max(t[i],tmax); //温度最大值
tmin=min(t[i],tmin); //温度最小值
}
double temp=s/c1; //混合后的温度
if(temp<=tmin)
{
cout<<"Possible"<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(4)<<tmin<<endl;
/*setiosflags(ios::fixed)和setprecision(4)连用控制小数点后输出
头文件:#include <iomanip>*/
}
else if(temp>=tmax)
{
cout<<"Possible"<<endl;
cout<<setiosflags(ios::fixed)<<setprecision(4)<<temp<<endl;
}
else
{
cout<<"Impossible"<<endl;
}
return 0;
}