1060 爱丁顿数 (25分)

6 7 6 9 3 10 8 2 7 8
2 3 6 6 7 7 8 8 9 10
a=10    1天超过1公里
a=9     2天超过2公里
a=8     3天超过3公里
a=8     4天超过4公里
a=7     5天超过5公里
a=7     6天超过6公里
a=6     结束...   n-i-1
#include<iostream>
#include<algorithm>
#include<cmath>

using namespace std;
const int INF = 100001;
int main() {
	int n, i, j;
	cin >> n;

	int* a = new int[n];
	for (i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a, a + n);

	if (a[0] > n) {
		cout << n << endl;
	}
	else {
		for (i = n - 1; i >= 0; i--) {
			if (a[i] <= n - i) {
				cout << n - i - 1 << endl;
				break;
			}
		}
	}
	return 0;
}
posted @ 2020-04-08 22:40  青山_1997  阅读(91)  评论(0编辑  收藏  举报