#P6785. 「EZEC-3」排列
「EZEC-3」排列
题目描述
pigstd 有一堆数,他想在这么多数中选出若干个数排成一列,记为 ( 为数的个数)。
这一列数合法当且仅当满足以下条件:
- 。
- 令 (特别的,),如果把 到 按 的顺序排成一圈,那么每两个相邻的数互为相反数且绝对值都为 。
pigstd 想知道,在所有合法的数列中,所有在这个数列中的数之和最大是多少。
输入格式
第一行两个整数 。
接下来 行,每行两个整数 ,表示 pigstd 有 个 。
不保证 互不相同,若有 相同则累加其个数计算。
输出格式
一行一个整数,表示在每一种排列中,所有在这个排列中的数的最大的和。
若没有合法的排列,则只输出 。
4 3
1 5
2 4
3 3
0 2
6
提示
【样例 1 说明】
当 pigstd 的排列为: 或 时,总和最大,为 。
【数据规模与约定】
对于 的数据,,,。
本题采用捆绑测试。
- Subtask 1(5 points):保证无合法的数列;
- Subtask 2(15 points):;
- Subtask 3(5 points):;
- Subtask 4(5 points):;
- Subtask 5(30 points):;
- Subtask 6(40 points):无特殊限制。