#10000026. 【CSP-S 2024】决斗(duel)

内存限制:512 MiB 时间限制:1000 ms 输入文件:duel.in 输出文件:duel.out
题目类型:传统 评测方式:文本比较
上传者: Holmium_Oxide

题目描述

题目名称 决斗
题目类型 传统型
目录 duel
可执行文件名
输入文件名 duel.in
输出文件名 duel.out
每个测试点时限
内存限制
测试点数目
测试点是否等分

提交源程序文件名

对于 C++ 语言 duel.cpp

【题目描述】

今天是小 Q 的生日,他得到了 张卡牌作为礼物。这些卡牌属于火爆的“决斗怪兽”,其中,第 张卡代表一只攻击力为 ,防御力也为 的怪兽。

一场游戏分为若干回合。每回合,小 Q 会选择某只怪兽 以及另一只怪兽 ),并让怪兽 向怪兽 发起攻击。此时,若怪兽 的攻击力小于等于怪兽 的防御力,则无事发生;否则,怪兽 的防御被打破,怪兽 退出游戏不再参与到剩下的游戏中。一只怪兽在正常游戏中至多只能发起一次攻击。当未退出游戏的怪兽都已发起过攻击时,游戏结束。

小 Q 希望决定一组攻击顺序,使得在游戏结束时,未退出游戏的怪兽数量尽可能少。

输入格式

【输入格式】

从文件 中读入数据。

输入的第一行包含一个正整数 ,表示卡牌的个数。

输入的第二行包含 个正整数,其中第 个正整数表示第 个怪兽的攻击力及防御力

输出格式

【输出格式】

输出到文件 中读。

输出一行包含一个整数表示游戏结束时未退出游戏的怪兽数量的最小值。

样例

【样例 输入】

5
1 2 3 1 2

【样例 输出】

2

【样例 解释】

其中一种最优方案为:第一回合让第 只怪兽向第 只怪兽发起攻击,第二回合让第 只怪兽向第 只怪兽发起攻击,第三回合让第 只怪兽向第 只怪兽发攻击。此时没有退出游戏的怪兽都进行过攻击,游戏结束。可以证明没有更优的攻击顺序。

【样例 输入】

10
136 136 136 2417 136 136 2417 136 136 136

【样例 输出】

8

【样例

见选手目录下的

该样例满足

【样例

见选手目录下的

数据范围与提示

【数据范围】

对于所有测试数据,保证:

测试点 特殊性质
无特殊性质
特殊性质
特殊性质

特殊性质 :保证每个 在可能的值域中独立均匀随机生成。