[GESP202403 四级] 做题题解
weizehao20131117 · · 题解
一、核心考点:sort排序,贪心
二、问题分析:先从小到大排序,再依次和天数比对
三、代码实现和解析:
# include <bits/stdc++.h>
using namespace std;
int n,a[1000010],ans,cmp=1;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
//排序
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
//不能从1开始,会全部TLE
for(int j=cmp;j<=n;j++)
{
//如果符合条件
if(a[j]>=i)
{
ans++;
//从下一个数开始遍历
cmp=j+1;
break;
}
}
}
cout<<ans;
return 0;
}
四、时间复杂度:O(n*n)。