実行時間制限: 2 sec / メモリ制限: 256 MB
配点 : 500 点
問題文
N を 1 以上の整数とします。
長さ 3N の数列 a = (a_1, a_2, ..., a_{3N}) があります。 すぬけ君は、a からちょうど N 個の要素を取り除き、残った 2N 個の要素を元の順序で並べ、長さ 2N の数列 a' を作ろうとしています。 このとき、a' のスコアを (a' の前半 N 要素の総和) - (a' の後半 N 要素の総和) と定義します。
a' のスコアの最大値を求めてください。
制約
- 1 ≤ N ≤ 10^5
- a_i は整数である。
- 1 ≤ a_i ≤ 10^9
部分点
- 300 点分のテストケースでは、N ≤ 1,000 が成り立つ。
入力
入力は以下の形式で標準入力から与えられる。
N a_1 a_2 ... a_{3N}
出力
a' のスコアの最大値を出力せよ。
入力例 1
2 3 1 4 1 5 9
出力例 1
1
a_2, a_6 を取り除くと、a' = (3, 4, 1, 5) となり、スコアは (3 + 4) - (1 + 5) = 1 となります。
入力例 2
1 1 2 3
出力例 2
-1
例えば、a_1 を取り除くと、a' = (2, 3) となり、スコアは 2 - 3 = -1 となります。
入力例 3
3 8 2 2 7 4 6 5 3 8
出力例 3
5
例えば、a_2, a_3, a_9 を取り除くと、a' = (8, 7, 4, 6, 5, 3) となり、スコアは (8 + 7 + 4) - (6 + 5 + 3) = 5 となります。
Score : 500 points
Problem Statement
Let N be a positive integer.
There is a numerical sequence of length 3N, a = (a_1, a_2, ..., a_{3N}). Snuke is constructing a new sequence of length 2N, a', by removing exactly N elements from a without changing the order of the remaining elements. Here, the score of a' is defined as follows: (the sum of the elements in the first half of a') - (the sum of the elements in the second half of a').
Find the maximum possible score of a'.
Constraints
- 1 ≤ N ≤ 10^5
- a_i is an integer.
- 1 ≤ a_i ≤ 10^9
Partial Score
- In the test set worth 300 points, N ≤ 1000.
Input
Input is given from Standard Input in the following format:
N a_1 a_2 ... a_{3N}
Output
Print the maximum possible score of a'.
Sample Input 1
2 3 1 4 1 5 9
Sample Output 1
1
When a_2 and a_6 are removed, a' will be (3, 4, 1, 5), which has a score of (3 + 4) - (1 + 5) = 1.
Sample Input 2
1 1 2 3
Sample Output 2
-1
For example, when a_1 are removed, a' will be (2, 3), which has a score of 2 - 3 = -1.
Sample Input 3
3 8 2 2 7 4 6 5 3 8
Sample Output 3
5
For example, when a_2, a_3 and a_9 are removed, a' will be (8, 7, 4, 6, 5, 3), which has a score of (8 + 7 + 4) - (6 + 5 + 3) = 5.