AT_joi2026_yo2_a.クラス分け (Class Division)
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JOI 高校的一年级学生共有 N 人,编号从 1 到 N。
某天,这 N 名一年级学生参加了一场考试。第 i 位学生的分数为 Ai。这里,所有 N 名学生的分数不全相同。
根据本次考试的成绩,将决定下一学年的班级分组。具体来说,会选择一个整数 x,分数不低于 x 的学生被分入“进学班”,分数低于 x 的学生被分入“普通班”,将 N 名学生分为两个班级。
分班时,需要满足以下条件:每个班级至少有 1 名学生;同时,应选择使进学班人数和普通班人数的差的绝对值最小的分法。同时,如果存在多种符合上述要求的分法,则选择其中进学班人数最少的那一种。
现给定学生人数及各自的分数,编写程序求出进学班学生的分数最低线。
输入格式
输入格式如下:
N A1 A2 ⋯ AN
输出格式
请在一行输出进学班中学生的分数最低线。
输入输出样例
输入#1
3 1000 500 800
输出#1
1000
输入#2
6 100 75 41 75 13 89
输出#2
89
输入#3
6 20 25 12 7 13 16
输出#3
16
输入#4
8 364353982 103422534 437367896 91518637 364353982 221490368 437367896 103422534
输出#4
364353982
说明/提示
子任务
- (20 分) N=3。
- (20 分) 所有 Ai 均为 500,800,1000 中的某个数(1≤i≤N)。
- (20 分) Ai=Aj(1≤i<j≤N)。
- (40 分) 无额外限制。
样例解释 1
例如,若 x=900,则学生 1 进入进学班,学生 2、3 进入普通班。
另一种分法是让学生 1、3 进入进学班,学生 2 进入普通班,这在 x=800 时可以实现。
这两种分法下,进学班与普通班人数差均为 1。所以选择进学班人数较少的第一种情况。此时进学班的最低分为 1000。
该样例满足所有子任务的限制。
样例解释 2
当 x=89 时,学生 1、6 进入进学班,学生 2、3、4、5 进入普通班。此时进学班的最低分为 89。
该样例满足子任务 4 的限制。
样例解释 3
该样例满足子任务 3,4 的限制。
样例解释 4
该样例满足子任务 4 的限制。
限制
- 2≤N≤500000。
- 1≤Ai≤109(1≤i≤N)。
- 存在某 i,j(1≤i<j≤N),使得 Ai=Aj。
- 输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?