英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個「愛丁頓數」 e ,即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e 等於87。
現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e(≤n)。
輸入格式:
輸入第一行給出乙個正整數 n (≤10
5 ),即連續騎車的天數;第二行給出 n 個非負整數,代表每天的騎車距離。
輸出格式:
在一行中給出 n 天的愛丁頓數。
輸入樣例:
106 7 6 9 3 10 8 2 7 8
輸出樣例:
6**如下
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int max_n =
100004
;bool
cmp(
int a,
int b)
intmain()
;int e =0;
for(
int i =
0; i < n; i++
)sort
(du,du+n,cmp)
;while
(du[e]
>e+
1&&e<=n)
printf
("%d"
,e);
return0;
}
自己一開始用的暴力解,因此有很多測試點超時。後面網上看到一種特別好的思路,於是記錄一下。
如果下一天還是比e+1大的話,(因為加多一天e就要加一)那就證明e和e+1都是滿足題意的,但要求乙個最大整數,所以取e+1。迴圈下去便得出最終解。
1060 愛丁頓數(25 分)
英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個 愛丁頓數 e 即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e 等於87。現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e n 輸入第一行給出乙個正整數 n 10 5 即連續騎車的天數 第二行給出...
1060 愛丁頓數 (25 分)
1060 愛丁頓數 25 分 英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個 愛丁頓數 e 即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e 等於87。現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e n 輸入第一行給出乙個正整數 n 10 5...
1060 愛丁頓數 25 分
英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個 愛丁頓數 e 即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e等於87。現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e n 輸入第一行給出乙個正整數 n 10 5 即連續騎車的天數 第二行給出 ...