乐逍遥xwl

导航

1060 爱丁顿数

英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” 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 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 #include<math.h>
 5 int cmp(const void *p,const void *q)
 6 {
 7     int x=*(int *)p;
 8     int y=*(int *)q;
 9     if(x>y)
10         return 1;
11     else
12         return -1;
13     return 0;
14 }
15 int main()
16 {
17     int N;
18     scanf("%d",&N);
19     int num[N];
20     for(int i=0;i<N;i++)
21         scanf("%d",&num[i]);
22     qsort(num,N,sizeof(int),cmp);
23     if(num[0]>N)
24     {
25         printf("%d\n",N);
26         return 0;
27     }
28     else
29     {
30         int t=1;
31         for(int i=N-1;i>=0;i--)
32         {
33             if(num[i]>t)
34             {
35                 t++;
36             }
37             else
38             {
39                 printf("%d\n",t-1);
40                 break;
41             }
42         }
43     }
44     return 0;
45 } 

 

 

posted on 2019-03-05 20:45  乐逍遥xwl  阅读(130)  评论(0编辑  收藏  举报