切換
舊版
前往
大廳
主題

ZeroJudge - f281: 志樺的亮度 解題心得

Not In My Back Yard | 2020-10-05 00:00:10 | 巴幣 2 | 人氣 114

題目連結:


題目大意:
輸入有三列。第一列給定一正整數 C (C ≦ 10 ^ 5),代表班上有 C 位同學。接著的一列給定 C 個正整數 Mi (0 ≦ Mi ≦ 10000),代表第 i 位同學的明顯度。其中明顯度最低的一定代表為志樺的明顯度。最後一列給定一正整數 L (L ≦ 10000,且必定大於志樺的明顯度),代表所有同學應滿足的最低明顯度。

當調整志樺的明顯度時,每上升 N 單位明顯度,其他的同學之明顯度會下降 N 。

試問志樺最少要增加多少明顯度才能使多少所有同學的明顯度皆 ≧ L。如果不可能的話,輸出「You are too black!」。



範例輸入:
範例輸入一:
3
4 1 3
2

範例輸入二:
4
1 3 2 2
2


範例輸出:
範例輸出一:
1

範例輸出二:
You are too black!


解題思維:
令志樺的明顯度為 X 。

因為要求是最低的增加量,因此基本上就是 L - X 之值。

但是有可能會使其他同學的明顯度無法 ≧ L。而這個情況會不會發生只需要看明顯度第二低的人即可。

如果該人下降 L - X 單位的明顯度之後,新的值 < L 的話,則代表不可能使所有同學明顯度 ≧ L,因此輸出「You are too black!」;反之,則可能,輸出 L - X 之值。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作