A3114 | 左右互博
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Yuilice初中的时候,上课喜欢去玩一种左手跟右手对打的游戏,我们称之为是左右互搏。
左手右手各有一个战力值$sum_l,sum_r$,在最开始的时候$sum_l = sum_r = 0$。
Yuilice想出了$N$个增加战力值的计划,每个计划都有两个数值$l_i$与$r_i$,其中左手的战斗力总值$sum_l$可以表达为每一个计划$l_i$的总乘积,右手的战斗力总之$sum_r$可以表达为每一个计划$r_i$的总和。
现在,Yuilice可以选择任意个计划从而增加左手和右手的战斗力,使得他们的战斗力最接近,在Yuilice至少要选择一个计划的情况下,请你算出两个战力值之间的最小绝对值差 。
注:在仅有一个$l_i$时,$sum_l$可以表示为$l_i \times 1$
注:选择是以每个计划为单位进行选择
左手右手各有一个战力值$sum_l,sum_r$,在最开始的时候$sum_l = sum_r = 0$。
Yuilice想出了$N$个增加战力值的计划,每个计划都有两个数值$l_i$与$r_i$,其中左手的战斗力总值$sum_l$可以表达为每一个计划$l_i$的总乘积,右手的战斗力总之$sum_r$可以表达为每一个计划$r_i$的总和。
现在,Yuilice可以选择任意个计划从而增加左手和右手的战斗力,使得他们的战斗力最接近,在Yuilice至少要选择一个计划的情况下,请你算出两个战力值之间的最小绝对值差 。
注:在仅有一个$l_i$时,$sum_l$可以表示为$l_i \times 1$
注:选择是以每个计划为单位进行选择
输入格式
第一行输入一个整数$n$代表计划总数。
随后$n$行,每行输入两个整数$l_i$,$r_i$,代表每个计划的左右手战力值增加数。
随后$n$行,每行输入两个整数$l_i$,$r_i$,代表每个计划的左右手战力值增加数。
输出格式
输出一个整数,代表两个战力值之间最小绝对值差。
输入输出样例
输入 #1
1 3 10
输出 #1
7
输入 #2
2 3 8 5 8
输出 #2
1
输入 #3
4 1 7 2 6 3 8 4 9
输出 #3
1
对于所有数据$1 \leq n \leq 10 , 1 \leq l_i,r_i \leq 10^9$
样例1解释:
$sum_l$的取值为 $sum_l = 3$
$sum_r$的取值为 $sum_r = 10$
最终最小差值为$10 - 3 = 7$
样例2解释:
$sum_l$的取值为 $sum_l = 3 * 5$
$sum_r$的取值为 $sum_r = 8 + 8$
最终最小差值为$16 - 15 = 1$
样例3解释:
$sum_l$的取值为 $sum_l = 2 * 3 * 4$
$sum_r$的取值为 $sum_r = 6 + 8 + 9$
最终最小差值为$24 - 23 = 1$
样例1解释:
$sum_l$的取值为 $sum_l = 3$
$sum_r$的取值为 $sum_r = 10$
最终最小差值为$10 - 3 = 7$
样例2解释:
$sum_l$的取值为 $sum_l = 3 * 5$
$sum_r$的取值为 $sum_r = 8 + 8$
最终最小差值为$16 - 15 = 1$
样例3解释:
$sum_l$的取值为 $sum_l = 2 * 3 * 4$
$sum_r$的取值为 $sum_r = 6 + 8 + 9$
最终最小差值为$24 - 23 = 1$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?