牛牛想起飞
比赛主页
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给定一个长度为 n 的序列
和一个长度为 n 的序列
,对于序列
中的每一个数字
,牛牛都可以进行以下操作:
(1) 将数字
从
变成
;
(2) 将数字
从
变成
。
牛牛很懒,所以
每个数字只能最多进行一次操作,甚至不操作
。现在给出一个数字 y ,牛牛想要知道在做合理的操作后能得到模 y 意义下的最大序列和是多少。
换句话说,设
是最终得到的
数组的样子,你要使得
结果最大化。
做出这道题他就能起飞,你能帮帮他吗?
输入描述:
第一行输入
第二行输入 n 个整数
第三行输入 n 个整数
输出描述:
输出能得到模 y 意义下的最大序列和
示例1
输入
复制
3 100 1 2 3 1 1 1
3 100 1 2 3 1 1 1
输出
复制
9
9
牛牛想起飞
返回全部题目
列表加载中...
3 100 1 2 3 1 1 1
9