CF1444B.Divide and Sum
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a of length 2n. Consider a partition of array a into two subsequences p and q of length n each (each element of array a should be in exactly one subsequence: either in p or in q).
Let's sort p in non-decreasing order, and q in non-increasing order, we can denote the sorted versions by x and y, respectively. Then the cost of a partition is defined as f(p,q)=∑i=1n∣xi−yi∣.
Find the sum of f(p,q) over all correct partitions of array a. Since the answer might be too big, print its remainder modulo 998244353.
给你一个长度为 2n 的数组 a。考虑将数组 a 划分为两个长度均为 n 的子序列 p 和 q(数组 a 中的每个元素必须且仅属于其中一个子序列:要么在 p 中,要么在 q 中)。
将 p 按非递减顺序排序,将 q 按非递增顺序排序,分别记其排序后的结果为 x 和 y。则该划分的代价定义为
f(p,q)=i=1∑n∣xi−yi∣。
求所有合法划分的 f(p,q) 之和。由于答案可能过大,请输出其对 998244353 取模的结果。
输入格式
The first line contains a single integer n (1≤n≤150000).
The second line contains 2n integers a1,a2,…,a2n (1≤ai≤109) — elements of array a.
第一行包含一个整数 n(1≤n≤150000)。
第二行包含 2n 个整数 a1,a2,…,a2n(1≤ai≤109)—— 数组 a 的元素。
输出格式
Print one integer — the answer to the problem, modulo 998244353.
输出一个整数——该问题的答案对 998244353 取模的结果。
输入输出样例
输入#1
1 1 4
输出#1
6
输入#2
2 2 1 2 1
输出#2
12
输入#3
3 2 2 2 2 2 2
输出#3
0
输入#4
5 13 8 35 94 9284 34 54 69 123 846
输出#4
2588544
说明/提示
Two partitions of an array are considered different if the sets of indices of elements included in the subsequence p are different.
In the first example, there are two correct partitions of the array a:
- p=[1], q=[4], then x=[1], y=[4], f(p,q)=∣1−4∣=3;
- p=[4], q=[1], then x=[4], y=[1], f(p,q)=∣4−1∣=3.
In the second example, there are six valid partitions of the array a:
- p=[2,1], q=[2,1] (elements with indices 1 and 2 in the original array are selected in the subsequence p);
- p=[2,2], q=[1,1];
- p=[2,1], q=[1,2] (elements with indices 1 and 4 are selected in the subsequence p);
- p=[1,2], q=[2,1];
- p=[1,1], q=[2,2];
- p=[2,1], q=[2,1] (elements with indices 3 and 4 are selected in the subsequence p).
如果子序列 p 所包含元素的下标集合不同,则称这两个数组划分是不同的。
在第一个例子中,数组 a 有两种正确的划分方式:
- p=[1], q=[4],此时 x=[1], y=[4], f(p,q)=∣1−4∣=3;
- p=[4], q=[1],此时 x=[4], y=[1], f(p,q)=∣4−1∣=3。
在第二个例子中,数组 a 有六种有效的划分方式:
- p=[2,1], q=[2,1](在原数组中下标为 1 和 2 的元素被选入子序列 p);
- p=[2,2], q=[1,1];
- p=[2,1], q=[1,2](在子序列 p 中选取了原数组中下标为 1 和 4 的元素);
- p=[1,2], q=[2,1];
- p=[1,1], q=[2,2];
- p=[2,1], q=[2,1](在子序列 p 中选取了原数组中下标为 3 和 4 的元素)。
输入解题思路,AI测评打分。不知道怎么写?