Gửi bài giải

Điểm: 5,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++

Cho dãy số ~A~ gồm ~3 * N~ phần tử. Hãy xóa ~N~ phần tử khỏi ~A~ để tạo thành một dãy ~A'~ sao cho điểm số của ~A'~ là lớn nhất có thể.

Diểm số dãy ~A'~ bằng tổng ~N~ phần tử đầu tiên của dãy ~A'~ trừ đi tổng ~N~ phần tử cuối cùng của dãy ~A'~

Input

  • Dòng đầu tiên chứa số nguyên dương ~N~ ~(1 \le N \le 10^5)~,
  • Dòng thứ hai chứa ~3 * N~ số nguyên ~a_1, a_2, a_3, …, a_{3N}~.~(1 \le a_i \le 10^9)~ mô tả dãy ~A~.

Output

  • In ra một số nguyên duy nhất là điểm số của dãy ~A'~ cần tạo

Scoring

  • Subtask ~1~ (~30\%~ số điểm): ~N\le 7~.
  • Subtask ~2~ (~30\%~ số điểm): ~N\le 1000~.
  • Subtask ~3~ (~40\%~ số điểm): Không có ràng buộc gì thêm

Ví dụ

Input
2
6 2 7 4 3 8
Output
6
Input
1
4 5 3
Output
2

Giải thích ví dụ

  • Trong ví dụ đầu tiên, ta có thể xóa đi phần tử thứ ~2~ và thứ ~6~ để tạo thành dãy ~A' = [6, 7, 4, 3]~. Điểm số của dãy ~A'~ này là ~(6 + 7) - (4 + 3) = 6~

  • Trong ví dụ thứ hai, ta có thể xóa đi phần tử thứ 1 để tạo thành dãy ~A' = [5, 3]~. Điểm số của dãy ~A'~ này là ~5 - 3 = 2~


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.