• PAT1117:Eddington Number


    1117. Eddington Number(25)

    时间限制
    250 ms
    内存限制
    65536 kB
    代码长度限制
    16000 B
    判题程序
    Standard
    作者
    CHEN, Yue

    British astronomer Eddington liked to ride a bike. It is said that in order to show off his skill, he has even defined an "Eddington number", E -- that is, the maximum integer E such that it is for E days that one rides more than E miles. Eddington's own E was 87.

    Now given everyday's distances that one rides for N days, you are supposed to find the corresponding E (<=N).

    Input Specification:

    Each input file contains one test case. For each case, the first line gives a positive integer N(<=105), the days of continuous riding. Then N non-negative integers are given in the next line, being the riding distances of everyday.

    Output Specification:

    For each case, print in a line the Eddington number for these N days.

    Sample Input:
    10
    6 7 6 9 3 10 8 2 7 8
    
    Sample Output:
    6
    

    思路

      逻辑题 + 排序

      E天骑行距离超过E英里的数为爱丁顿数。先给给N天的骑行距离,求最大的爱丁顿数。

      1.降序排序

      2.第i天距离大于i,当前最大爱丁顿数就为i

      3.迭代找到最大。

    代码

    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    vector<int> number;
    bool cmp(int a,int b)
    {
        return a > b;
    }
    int main()
    {
        int N;
        while(cin >> N)
        {
            number.resize(N);
            for(int i = 0;i < N;i++)
                cin >> number[i];
            sort(number.begin(),number.end(),cmp);
            int maxnum = 0,val = 1;
            while(maxnum <= N && number[val - 1] > val)
            {
                maxnum++;
                val++;
            }
            cout << maxnum;
        }
    }
    

      

  • 相关阅读:
    搜索部分学习小结
    递归与搜索部分知识点小结
    匿名函数
    监督学习和非监督学习
    单变量线性回归
    神经网络(2)
    html
    javascript
    win10+celery4.x以上+redis的天坑
    Django-Views
  • 原文地址:https://www.cnblogs.com/0kk470/p/8086385.html
Copyright © 2020-2023  润新知