英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了乙個「愛丁頓數」 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
int a[
1000000];
using
namespace std;
bool
cmp(
int a,
int b)
intmain()
sort
(a +
1, a + n +
1, cmp)
;int ans =
0, p =1;
//注意是從陣列1開始儲存每天的公里數
while
( a[p]
> p)
cout << ans;
return0;
}
思路:
從下標1開始儲存n天的公里數在陣列中,對n個資料從大到小排序,i表示了騎車的天數,那麼滿足a[i]>i的最大值為所求。這是因為從大到小排序,可以找到第乙個小於某一公里數,而這乙個之前的都大於這個公里數,之後的都小於這個公里數。
適合初步練習PAT乙級 (1019) 數字黑洞
給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...
適合初步練習PAT乙級 (1064) 朋友數
如果兩個整數各位數字的和是一樣的,則被稱為是 朋友數 而那個公共的和就是它們的 朋友證號 例如 123 和 51 就是朋友數,因為 1 2 3 5 1 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。輸入格式 輸入第一行給出正整數 n。隨後一行給出 n 個正...
適合初步練習PAT乙級 (1067) 試密碼
當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以...