倒水
時間限制:1秒 空間限制:32768k
有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水(假設每個杯子的容量是無限的),每杯水的溫度為t[i]單位,體積為c[i]公升。
現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。
注意:一杯溫度為t1單位、體積為c1公升的水與另一杯溫度為t2單位、體積為c2公升的水混合後,溫度變為(t1*c1+t2*c2)/(c1+c2),體積變為c1+c2。
輸入描述
第一行乙個整數n, 1 ≤ n ≤ 10^5
第二行兩個整數t,c,其中0 ≤ t ≤ 10^4, 0 ≤ c ≤ 10^9
接下來n行每行兩個整數t[i],c[i]
0 ≤ t[i], c[i] ≤ 10^4
輸出描述:
如果非法,輸出「impossible」(不帶引號)否則第一行輸出「possible」(不帶引號),第二行輸出乙個保留4位小數的實數表示答案。
樣例解釋:往第二杯水中倒0.5公升水
往第三杯水中到1公升水
三杯水的溫度都變成了20
輸入例子:
3
10 2
20 1
25 1
30 1
輸出例子:
possible
20.0000
作為一名蒟蒻,我果斷寫了比較簡單的方法:
首先,判斷最大溫度值與最小溫度值是否在大水缸中水的溫度值上下(因為只能由大水缸向杯子內倒水)
然後將n>=maxn和minn>=n分開來判斷
①: n>=maxn
如果所有的水都倒在一起的溫度都無法達到maxn的值,那麼肯定是不可能實現的,否則就輸出所有水倒在一起時的溫度
②:minn>=n
如果所有的水都倒在一起的溫度還比minn的值大,那麼這也是無法實現的,否則就輸出minn
當然,還有各種dalao們寫的二分(%%%)
#include
using
namespace
std;
int t;
long
long n,m,x,y,totn,totm,maxn,minn;
double ans;
int readln()
int main()
if (maxn>n&&n>minn)
if (n>=maxn)
else
}if (n<=minn)
else
}}
CodeM美團點評程式設計大賽A輪 C 倒水
程式設計題 倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。...
2018美團CodeM程式設計大賽初賽B輪 A題開關燈
美團的辦公室一共有n層,每層有m個會議室,可以看成是乙個n m的網格圖。工程師們每天的工作需要協作的地方很多,經常要到會議室開會解決各種問題。公司是提倡勤儉節約的,因此每次會議室只在使用時才開燈。當乙個工程師進入會議室時,假設沒有其他人,他會把燈開啟。當乙個工程師離開會議室時,假設沒有其他人,他會把...
CodeM 2017美團點評程式設計大賽資格賽
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 美團外賣的品牌代言人袋鼠先生最近正在進行 研究。他有兩段音訊,每段音訊是乙個表示音高的序列。現在袋鼠先生想要在第二段音訊中找出與第一段音訊最相近的部分。具體地說,就是在第二段音訊中找到乙個長度和第一段音訊相等且是連續的子...