A6493 | Alice打扰别人睡觉
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
众所周知,人在睡觉的时候头上会出现一串"Z"字往上飘,而有些人的"Z"居然会往下飘。如果这些"Z"字被人摘走了那那个人就会被吵醒,Alice非常喜欢摘走这些人的"Z"字,然后把这些人吵醒。
大家都趴在一张桌子上睡觉,大家头上"Z"字的飘起高度可以形成一个一维向量数组 $\{ a_0, a_1, a_2, a_3... a_n \}$ ,Alice可以一次性吵醒一个区间 $[ l , r ] (0≤l≤r≤n)$ 内的所有人,这些人对应的向量会被移除这个数组,Alice是一个超级大坏蛋,所以她可以无限次进行这种恶心人的行为,也可以一次都不进行。
Alice怎么这么坏啊!你要写一段程序得到Alice吵醒哪些人之后能让数组留下的向量和的模最大。
(一维向量是只有一个分量的向量,通常用单个数值表示,其方向由数值的正负号决定(正数表示一个方向,负数表示相反方向),大小(模)为该数值的绝对值。)
大家都趴在一张桌子上睡觉,大家头上"Z"字的飘起高度可以形成一个一维向量数组 $\{ a_0, a_1, a_2, a_3... a_n \}$ ,Alice可以一次性吵醒一个区间 $[ l , r ] (0≤l≤r≤n)$ 内的所有人,这些人对应的向量会被移除这个数组,Alice是一个超级大坏蛋,所以她可以无限次进行这种恶心人的行为,也可以一次都不进行。
Alice怎么这么坏啊!你要写一段程序得到Alice吵醒哪些人之后能让数组留下的向量和的模最大。
(一维向量是只有一个分量的向量,通常用单个数值表示,其方向由数值的正负号决定(正数表示一个方向,负数表示相反方向),大小(模)为该数值的绝对值。)
输入格式
一共 $2n+1$ 行,第 $1$ 行表示有 $n$ ( $2≤n≤500$ )组测试用例。
接下来每 $2$ 行是一个测试用例
每个测试的第 $1$ 行有 $1$ 个数 $size$ ( $1≤size≤500$ ),$size$ 表示这个桌子上有几个人在睡觉。
第 $2$ 行有 $size$ 个数,表示这些人的"Z"会飘多高的一维向量数组。( $-1⋅10^5≤一维向量≤1⋅10^5$ )
接下来每 $2$ 行是一个测试用例
每个测试的第 $1$ 行有 $1$ 个数 $size$ ( $1≤size≤500$ ),$size$ 表示这个桌子上有几个人在睡觉。
第 $2$ 行有 $size$ 个数,表示这些人的"Z"会飘多高的一维向量数组。( $-1⋅10^5≤一维向量≤1⋅10^5$ )
输出格式
对于每组测试数据,新起一行,共 $n$ 行。
每一行输出一个整数代表Alice这么做后的最大的向量和的模。
每一行输出一个整数代表Alice这么做后的最大的向量和的模。
输入输出样例
输入 #1
2 5 1 2 -2 -3 4 7 2 5 -5 1 1 1 -6
输出 #1
7 11
对于第一组测试数据,把区间 $[2, 3]$ 的人叫醒,得到新数组的向量和的模为 $7$ ,此时是向量和的模长最大的。
对于第二组测试数据,把区间 $[0, 1]$ 和 $[3, 5]$ 的人叫醒,得到新数组的向量和的模为 $11$ ,此时是向量和的模长最大的。
对于第二组测试数据,把区间 $[0, 1]$ 和 $[3, 5]$ 的人叫醒,得到新数组的向量和的模为 $11$ ,此时是向量和的模长最大的。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?