1060 愛丁頓數 25分

2022-09-01 20:12:10 字數 1079 閱讀 3447

英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個「愛丁頓數」 e ,即滿足有 e 天騎車超過 e 英里的最大整數 e。據說愛丁頓自己的 e 等於87。

現給定某人 n 天的騎車距離,請你算出對應的愛丁頓數 e(≤n)。

輸入格式

輸入第一行給出乙個正整數 n (≤10^5),即連續騎車的天數;第二行給出 n 個非負整數,代表每天的騎車距離。

輸出格式

在一行中給出 n 天的愛丁頓數。

輸入樣例:

10

6 7 6 9 3 10 8 2 7 8

輸出樣例:

6
首先要準確理解愛丁頓數是什麼,即滿足e天超過e公里的最大整數e,比如我有8天超過8,那麼一定有5天超過5,這時候最大的是8,再如有8天大於5,一定滿足5天大於5,愛丁頓數是5

所以我們分析得愛丁頓數得特徵:是天數與公里數最小得那個

假如我騎8天,那麼愛丁頓數最大是8,表示它受天數制約,如果這8天每天都大於8,我們應該輸出8,而不是某公里數

這裡我們可以很快想到排序來做s儲存每天騎的距離,由大到小排序,陣列下標表示前面有幾個數,即有幾天大於此處的公里數,當s[i] > i + 1,說明有i+1天大於s[i](i從0開始),於是就繼續一天一天往後看,只要s[i] > i +1,天數一直比公里數小得同時天數在增加,那麼愛丁頓數就一直在變大

當s[i] <= i+1時說明增加了一天卻讓愛丁頓數可能不變或者變小(根據愛丁頓數得特徵),這時候就退出迴圈,i就是最大得愛丁頓數

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 即連續騎車的天數 第二行給出 ...