L1-088 静静的推荐(Java)

天梯赛结束后,某企业的人力资源部希望组委会能推荐一批优秀的学生,这个整理推荐名单的任务就由静静姐负责。企业接受推荐的流程是这样的:

  • 只考虑得分不低于 175 分的学生;
  • 一共接受 K 批次的推荐名单;
  • 同一批推荐名单上的学生的成绩原则上应严格递增;
  • 如果有的学生天梯赛成绩虽然与前一个人相同,但其参加过 PAT 考试,且成绩达到了该企业的面试分数线,则也可以接受。

给定全体参赛学生的成绩和他们的 PAT 考试成绩,请你帮静静姐算一算,她最多能向企业推荐多少学生?

输入格式:

输入第一行给出 3 个正整数:N(≤105)为参赛学生人数,K(≤5×103)为企业接受的推荐批次,S(≤100)为该企业的 PAT 面试分数线。

随后 N 行,每行给出两个分数,依次为一位学生的天梯赛分数(最高分 290)和 PAT 分数(最高分 100)。

输出格式:

在一行中输出静静姐最多能向企业推荐的学生人数。

输入样例:

10 2 90
203 0
169 91
175 88
175 0
175 90
189 0
189 0
189 95
189 89
256 100

输出样例:

8

样例解释:

第一批可以选择 175、189、203、256 这四个分数的学生各一名,此外 175 分 PAT 分数达到 90 分的学生和 189 分 PAT 分数达到 95 分的学生可以额外进入名单。第二批就只剩下 175、189 两个分数的学生各一名可以进入名单了。最终一共 8 人进入推荐名单。

解题思路

  1. 初始化数组:创建一个数组来记录每个天梯赛分数段可招收的人数。
  2. 遍历学生:遍历每个学生,根据他们的天梯赛分数和PAT分数来决定是否录用。
  3. 处理直接录用的学生:如果学生的PAT分数达到了面试分数线,直接录用。
  4. 处理需要比较天梯赛分数的学生:如果学生的PAT分数未达到面试分数线但天梯赛分数超过175,检查该分数段是否还有名额,如果有,则录用该学生。
  5. 输出结果:输出总共招收的学生人数。

解题过程中遇到的问题

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt(); // 学生人数int K = scanner.nextInt(); // 推荐批次int S = scanner.nextInt(); // PAT分数线int[] slots = new int[300]; // 存储每个分数段可招收的人数int totalRecruited = 0; // 总共招收的学生人数for (int i = 0; i < N; i++) {int ladderScore = scanner.nextInt();int patScore = scanner.nextInt();if (ladderScore < 175) {continue; // 天梯赛分数低于175,不考虑}if (patScore >= S) {totalRecruited++; // PAT分数达标,直接录用} else if (slots[ladderScore] < K) {slots[ladderScore]++; // 该分数段还有名额,录用totalRecruited++;}}System.out.println(totalRecruited); // 输出结果}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【模拟】力扣38(Java)

题目 class Solution {public String countAndSay(int n) {String ret "1";for(int i1;i<n;i)//解释n-1次ret{StringBuffer tmp new StringBuffer();int len ret.length();for(int left 0,right 0;right<len;){//双指针while(right < len &&…

力扣精选算法100道——x的平方根(二分查找专题)

x的平方根 首先看到这个题目的时候&#xff0c;我们需要对上一个二分查找专题的题目进行深度理解&#xff0c;然后了解模板&#xff0c;这题是完全利用的上一题的模板知识进行&#xff0c;如果直接看这个题目可能是有点懵的&#xff0c;因为我这里直接利用模板进行解题。力扣…

技术变革下的职业危机

在科技日新月异的时代&#xff0c;程序员这个曾经被认为是相对稳定的职业&#xff0c;也开始感受到前所未有的冲击。随着自动化和人工智能等技术的迅猛发展&#xff0c;裁员潮正在席卷整个编程行业&#xff0c;给程序员们敲响了职业危机的警钟。 一、裁员潮的根本原因 技术变革…

jetson NX读取RTSP视频流

一、项目原由 由于在项目中需要对光电吊舱进行调整,光电吊舱大部分都是使用RTSP流进行视频传输的,所以需要利用jetson 设备去读取视频流。 由于厂家拿过来的光电吊舱的IP地址是:IP地址为:192.168.abc.108 ip地址: 192.168.abc.108换句话就是他的推流RTSP为:RTSP://192.…

了解HTTP/1.1、HTTP/1.0 和 HTTP/2.0

HTTP/1.1、HTTP/1.0 和 HTTP/2.0 是超文本传输协议&#xff08;HTTP&#xff09;的三个主要版本 先解释一下什么是超文本协议 超文本传输协议&#xff08;HyperText Transfer Protocol&#xff0c;简称 HTTP&#xff09;是互联网上应用最广泛的一种网络协议。设计 HTTP 的初衷是…

8. 处理异步请求

8. 处理异步请求 1. EnableAsync 注解 要使用 Async&#xff0c;首先需要使用 EnableAsync 注解开启 Spring Boot 中的异步特性。 Configuration EnableAsync public class AppConfig { }更详细的配置说明&#xff0c;可以参考&#xff1a;AsyncConfigurer 2. Async 注解 …

在Ubuntu上安装pycuda记录

1. 安装CUDA Toolkit 11.8 从MZ小师妹的摸索过程来看&#xff0c;其他版本的会有bug&#xff0c;12.0的版本太高&#xff0c;11.5的太低&#xff08;感谢小师妹让我少走弯路&#xff09; 参考网址&#xff1a;CUDA Toolkit 11.8 Downloads | NVIDIA Developer 在命令行输入命…

尝试为ssrf漏洞编写黑名单与白名单

以pikachu靶场ssrf&#xff08;curl&#xff09;为例&#xff1a; 你会发现什么也没防御项访问基本的文件内容&#xff0c;端口开放都是可以看到的&#xff0c;没有任何防御措施。 我们去查看一下他的源码有没有过滤什么 没有任何过滤&#xff0c;咱么尝试进行过滤一下&#xf…

2024美赛数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…

c++之说_9_5|自定义类型 struct 构造函数

struct 很重要的东西之一 构造函数 struct A { public&#xff1a; A&#xff08;&#xff09;{}&#xff1b;//无参构造函数 你不写 任何构造函数时 也是编译器默认会添加一个无参构造 A&#xff08;int a&#xff09;{}&#xff1b;//有参构造函数 } 构造函数&…

peer eslint-plugin-vue@“^7.0.0“ from @vue/eslint-config-standard@6.1.0

问题&#xff1a; 用vue/cli脚手架安装项目时&#xff0c;选择ESlint&#xff0c;再安装依赖包的时候&#xff0c;会报以下错误&#xff0c; 原因&#xff1a; npmV7 之前的版本遇到依赖冲突时&#xff0c;会忽视冲突&#xff0c;继续安装&#xff1b; npmV7版本开始不再自动忽…

java web servlet 学习系统进度管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web学习系统进度管理系统是一套完善的java web信息管理系统 &#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为…

Java设计模式---单例 工厂 代理模式

Java单例模式详解 一、引言 单例模式是设计模式中的一种&#xff0c;属于创建型模式。在软件工程中&#xff0c;单例模式确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这种模式常用于那些需要频繁实例化然后引用&#xff0c;且创建新实例的开销较大的类&#xf…

Vue中$watch()方法和watch属性的区别

vue中$watch()和watch属性都是监听值的变化的&#xff0c;是同一个作用&#xff0c;但是有两个不同写法。 用法一&#xff1a; //注意&#xff1a;这种方法是监听不到对象的变化的。 this.$watch((newVal,oldVal)>{ }) 用法二&#xff1a; watch:{xxx:(newVal,oldVal)>…

NodeJS安装教程

1、 官网下载安装包 可以自己在官网下载 Node.Js中文网 https://nodejs.p2hp.com/ 2、安装步骤 1、双击安装包&#xff0c;一直点击下一步。 2、点击change按钮&#xff0c;更换到自己的指定安装位置&#xff0c;点击下一步&#xff08;不修改默认位置也是可以的 &#xf…

Simulink|光伏并网逆变器低电压穿越仿真模型

目录 主要内容 模型研究 1.模型总览 2.boost模块 3.Inverter模块 4.控制模块 5.信号模块 结果一览 下载链接 主要内容 该模型为光伏逆变器低电压穿越仿真模型&#xff0c;采用boost加NPC拓扑结构&#xff0c;基于MATLAB/Simulink建模仿真。模型具备中点平衡…

openai assistants api接入微信机器人,实现类GPTs功能

chatgpt网址:https://chat.xutongbao.top 比普通gpt多了代码解释器功能&#xff0c;和上传训练数据文件的功能&#xff0c;这两个功能就是GPTs拥有的&#xff0c;而普通gpt没有拥有的

Linux系统Shell脚本 ----- 编程规范和变量详细解读

一、Shell脚本概述 1、什么是Shell Linux系统中运行的一种特殊程序在用户和内核之间充当“翻译官”用户登录Linux系统时&#xff0c;自动加载一个Shell程序Bash是Linux系统中默认使用的Shell程序 2、Shell的作用 Linux系统中的shell是一个特殊的应用程序&#xff0c;它介于操…

商城系统中30分钟未付款自动取消订单怎么实现(简单几种方法)

实现以上功能 方法1&#xff1a;定时任务批量执行 写一个定时任务&#xff0c;每隔 30分钟执行一次&#xff0c;列出所有超出时间范围得订单id的列表 AsyncScheduled(cron "20 20 1 * * ?")public void cancelOrder(){log.info("【取消订单任务开始】"…

HTTP/1.1、HTTP/2、HTTP/3 基本概述

参考链接 https://xiaolincoding.com/network/2_http/http_interview.html#http-1-1-%E7%9B%B8%E6%AF%94-http-1-0-%E6%8F%90%E9%AB%98%E4%BA%86%E4%BB%80%E4%B9%88%E6%80%A7%E8%83%BD HTTP/1.1 HTTP/1.1 相比 HTTP/1.0 性能上的改进&#xff1a; 使用长连接的方式改善了 HTT…