A71645 | 我要打十个
来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
有 n 个人,第 i 个人的战斗力是 a_i。(a_i ≠ 0)
如果一个人 A 的战斗力是 x,另一个人 B 的战斗力是 y,则称 A 能打 \frac{x}{y} 个 B。如果 A 的战斗力是 5,B 的战斗力是 2,那么我们就称“A 能打 \frac{5}{2} 个 B”。
请你求出,在 n 个人中选出两个人分别作为 A、B(注意:A 和 B 不能是同一个人),则 A 最多能打多少个 B。
输入格式
第一行一个正整数 n。
第二行 n 个整数,第 i 个表示 a_i。
输出格式
输出一行一个字符串,表示答案。
如果答案是一个整数,则直接输出这个整数 。
否则,将答案转化为最简分数 \frac{p}{q} 的表示方式,并以 p/q 的格式输出。
其中 p 是整数,q 是正整数且 p, q 互质。
输入输出样例
输入 #1
3 1 2 5
输出 #1
5
输入 #2
2 -3 5
输出 #2
-3/5
输入 #3
3 -4 -6 10
输出 #3
3/2
【样例 1 解释】
将第三个人选为 A,第一个人选为 B,则我们称 A 能打 5 个 B。容易证明,这是最优的选择方案。
【数据范围】
对于 60 \% 的数据,n \le 3 × 10^3,a_i \gt 0。
对于 100 \% 的数据,2 \le n \le 10^5,−10^4 \le a_i \le 10^4 且保证 a_i ≠ 0。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?