英國天文學家愛丁頓很喜歡騎車。據說他為了炫耀自己的騎車功力,還定義了一個“愛丁頓數”?E?,即滿足有?E?天騎車超過?E?英里的最大整數?E。據說愛丁頓自己的?E?等于87。
現給定某人?N?天的騎車距離,請你算出對應的愛丁頓數?E(≤)。
輸入格式:
輸入第一行給出一個正整數?N?(≤),即連續騎車的天數;第二行給出?N?個非負整數,代表每天的騎車距離。
輸出格式:
在一行中給出?N?天的愛丁頓數。
輸入樣例:
10
6 7 6 9 3 10 8 2 7 8
輸出樣例:
6
//答案是柳婼大佬的。 //關于思路我沒有完全理解暫時存疑 #include<cstdio> #include<algorithm> using namespace std; const int maxn = 100010; int arr[maxn];bool cmp(int a,int b){return a > b; }int main(){int n;scanf("%d",&n);for(int i = 1; i <= n; i++ ){scanf("%d",&arr[i]);}sort(arr+1,arr+n+1,cmp);int ans = 0,p = 1;while(ans <= n && arr[p] > p){ans++;p++;}printf("%d",ans);return 0; }
?