pat乙级1060

将数组排序后从大到小遍历,设置一个递增的变量t,当v[i] > t的时候,说明有t个数大于t,最后一个满足v[i] > t的t即为所求结果。

 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int n;
 9     cin >> n;
10     vector<int> v(n);
11     for (int i = 0; i < n; i++)
12         cin >> v[i];
13     sort(v.begin(), v.end());
14     int result = 0;
15     int t = 1;
16     for (int i = n - 1; i >= 0 && v[i] > t; i--, t++);
17     cout << --t;
18     return 0;
19 }
原文地址:https://www.cnblogs.com/lxc1910/p/8601386.html