B3959 [GESP202403 四级] 做题 题解

题目描述

小杨同学为了提高自己的实力制定了做题计划,在第 k 天时,他必须要完成 k 道题,否则他就会偷懒。

小杨同学现在找到了一个题库,一共有 n 套题单,每一套题单中有一定数量的题目。但是他十分挑剔,每套题单他只会使用一次,每一天也只能使用一套题单里的题目,之后那套题单就会弃之不用。对于每套题单,他不必完成题单内所有的题。

那么问题来了,小杨同学最多做题几天才偷懒呢?

输入格式

第一行,一个整数为 n,表示有多少套题单。
第二行 n 个整数 a1​,a2​,…an​,分别表示每套题单有多少道题。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1复制运行

4 3 1 4 1

输出 #1复制运行

3

说明/提示

数据规模与约定

对全部的测试数据,保证 1≤n≤,1≤ai​≤

AC代码

#include<bits/stdc++.h> using namespace std; int a[1000005]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); int sum=1; for(int i=1;i<=n;i++){ if(a[i]<sum){ continue; } else{ sum++; } } cout<<sum-1<<endl; return 0; }