题目背景

对应的选择、判断题:试题 - GESP 202403 C++ 四级 - 洛谷有题

题目描述

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

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

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

输入格式

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

输出格式

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

输入输出样例

输入 #1复制

4
3 1 4 1

输出 #1复制

3

说明/提示

数据规模与约定

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

代码实现:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    sort(a.begin(), a.end());
    int ans = 0;
    for (int i = 0; i < n; ++i) {
        if (a[i] >= ans + 1) {
            ans++;
        }
    }
    cout << ans << endl;
    return 0;
}

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐