PAT 乙级 1060
本题要先从大到小排个序。
再逐个比较天数和骑行公里数。
但有一个坑,如果全部公里数都大于全部天数,那 for 循环不会输出东西。
所以要加一步,输出全部天数。
#include<bits/stdc++.h> using namespace std; bool cmp(int a, int b) { return a > b; } int main() { int n; cin >> n; vector<int> v(n + 1); for(int i = 1; i <= n; i ++) cin >> v[i]; sort(v.begin() + 1, v.end(), cmp); for(int i = 1; i <= n; i ++) if(v[i] <= i) { cout << i - 1; return 0; } cout << n; return 0; }