Biểu thức
View as PDF
Submit solution
Points:
200.00 (partial)
Time limit:
1.0s
Memory limit:
1G
Input:
stdin
Output:
stdout
Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text
Một dãy gồm n số nguyên không âm ~a_1~,~a_2~,...,~a_n~ được viết thành một hàng ngang, giữa hai số liên tiếp có một khoảng trắng, như vậy có tất cả ~n−1~ khoảng trắng. Người ta muốn đặt ~k~ dấu cộng và ~n−1−k~ dấu trừ vào ~n−1~ khoảng trắng đó để nhận được một biểu thức có giá trị lớn nhất.
Ví dụ, với dãy gồm 5 số nguyên 28,9,5,1,69 và k=2 thì cách đặt 28+9−5−1+69 là biểu thức có giá trị lớn nhất.
Yêu cầu: Cho dãy gồm n số nguyên không âm ~a_1~,~a_2~,...,~a_n~ và số nguyên dương ~k~, hãy tìm cách đặt ~k~ dấu cộng và ~n−1−k~ dấu trừ vào ~n−1~ khoảng trắng để nhận được một biểu thức có giá trị lớn nhất.
Dữ liệu vào:
- Dòng đầu chứa hai số nguyên dương ~n,k~
- Dòng thứ hai chứa n số nguyên không âm ~a_1~,~a_2~,...,~a_n~
Giới hạn:
- ~k < n~ ≤ ~10^5~
- ~a_i~ <= ~10^6~
Kết quả:
Một số nguyên là giá trị của biểu thức đạt được.
Ví dụ:
Input 1:
5 2
28 9 5 1 69
Output 1:
100
Loading...