1. 程式人生 > >1060. 愛丁頓數(25)

1060. 愛丁頓數(25)

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

現給定某人N天的騎車距離,請你算出對應的愛丁頓數E(<=N)。

輸入格式:

輸入第一行給出一個正整數N(<=105),即連續騎車的天數;第二行給出N個非負整數,代表每天的騎車距離。

輸出格式:

在一行中給出N天的愛丁頓數。
輸入樣例:

10
6 7 6 9 3 10 8 2 7 8

輸出樣例:

6

思路:
(1)i from 1 to n,將所有資料進行從大到小排序;
(2)a[i]<=i時,break;
(3)i-1即為所求

#include <stdio.h>
#include <stdlib.h>
int a[100000+1];
int comp(const void*a,const void*b){
    return *(int *)b-*(int *)a;
}
int main(){
    int n,i;
    scanf("%d",&n);
    for(i=1;i<=n;++i)
        scanf("%d",&a[i]);
    qsort(&a[1],n,sizeof(int),comp);
    for(i=1;i<=n;i++)
        if
(a[i]<=i)break; printf("%d",i-1); return 0; }