当前位置: 首页 > ai >正文

[C++] 洛谷B3959(GESP2024三月四级)做题

题解目录

  • B3959 [GESP202403 四级] 做题 - 题干
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
      • 数据规模与约定
  • B3959 [GESP202403 四级] 做题 - 题解

B3959 [GESP202403 四级] 做题 - 题干

题目描述

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

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

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

输入格式

第一行,一个整数为 n n n,表示有多少套题单。
第二行 n n n 个整数 a 1 , a 2 , … a n a_1, a_2, \dots a_n a1,a2,an,分别表示每套题单有多少道题。

输出格式

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

输入输出样例 #1

输入 #1

4
3 1 4 1

输出 #1

3

说明/提示

数据规模与约定

对全部的测试数据,保证 1 ≤ n ≤ 10 6 1 \leq n \leq 10^6 1n106 1 ≤ a i ≤ 10 9 1 \leq a_i \leq 10^9 1ai109


B3959 [GESP202403 四级] 做题 - 题解

这是一个贪心算法,通过排序后从小到大依次检查每个题单能否满足第 k + 1 k+1 k+1天的需求。排序后可以确保我们优先使用题目数量少的题单来满足早期的天数需求,从而最大化总天数。

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main() {int n;cin >> n;vector<long long> a(n);for (int i = 0; i < n; i++) {cin >> a[i];}sort(a.begin(), a.end());int k = 0;for (int i = 0; i < n; i++) {if (a[i] >= k + 1) {k++;}}cout << k << endl;return 0;
}
http://www.xdnf.cn/news/8849.html

相关文章:

  • Linux 下VS Code 的使用
  • 【Python Cookbook】迭代器与生成器(二)
  • Java文件操作:从“Hello World”到“Hello File”
  • 嵌入式知识篇---热熔胶
  • 22 程序控制语句详解:跳转控制(break、continue、goto)、死循环应用、程序控制编程实战
  • SQL进阶之旅 Day 3:索引基础与应用
  • conda 环境中opencv 报错以及其他报错
  • OD 算法题 B卷【寻找最大价值的矿堆】
  • 匿名内部类与函数式编程
  • MYSQL中的分库分表
  • CQF预备知识:Python相关库 -- NumPy 基础知识 - ndarray 索引
  • MedGemma 简介
  • leetcode3-无重复字符的最长子串
  • Spring Security框架全面解析与应用实践
  • gcc编译优化参数-O0和-Os区别
  • 先知AI打造智能企业引擎
  • kaggle房价预测-0.12619-排名:757
  • ARM架构深度解析:从指令集到内核设计
  • 机械师安装ubantu双系统:二、磁盘分区
  • 小可爬楼
  • 通过 Terraform 构建您的第一个 Azure Linux 虚拟机
  • 湖仓融合的“最后一公里”:StarRocks 存算分离如何优化湖上实时分析?
  • openssl 使用生成key pem
  • 万事如函数
  • Windows File Copy
  • 第11次课 while循环
  • (27)运动目标检测 之 分类(如YOLO) 数据集自动划分
  • 关于多类型数据划分清洗的整理
  • 09_模型训练篇-卷积(上):如何用卷积为计算机“开天眼”?
  • 【C语言】指针全局变量