ĐOẠN CON CÓ TỔNG LỚN NHẤT

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho dãy số ~a_1, a_2, ..., a_N~ và dãy số ~b_1, b_2, ..., b_N~ trọng số của một đoạn con ~[l, r]~ là ~a_l + a_{l + 1} + ... + a_r~. Giá trị của cả dãy là trọng số lớn nhất của một đoạn con bất kỳ. Bạn được phép thực hiện thao tác sau tối đa ~k~ lần: Chọn hai chỉ số ~x, y~ ~(x≤y)~ với mỗi ~x≤i≤y~ gán ~a_i = a_i \times b_i~.

Yêu cầu: Hãy thực hiện không quá ~k~ thao tác để giá trị của dãy là lớn nhất.

Input

Gồm ba dòng:

  • Dòng đầu tiên là hai số nguyên ~N~ và ~k~ ~(1≤N≤10^5, 1≤k≤10).~
  • Dòng thứ hai là dãy số ~a_1, a_2, ..., a_N~ ~(|a_i|≤1000).~
  • Dòng thứ ba là dãy số ~b_1, b_2, ..., b_N~ ~(|b_i|≤10).~

Output

Gồm một số nguyên duy nhất là giá trị của dãy ~a~ sau khi thực hiện không quá ~k~ thao tác.

Scoring

Subtask 1: Có ~15~% số test ứng với ~k = 0~.

Subtask 2: Có ~15~% số test khác ứng với ~k = 1~ và ~n ≤ 5000~.

Subtask 3: Có ~20~% số test khác ứng với ~k = 1~.

Subtask 4: Có ~25~% số test khác ứng với ~k = 2~.

Subtask 5: ~25~% số test còn lại không có ràng buộc gì thêm

Sample Input 1

5 1
-3 4 -5 2 -2
1 -2 -1 2 1

Sample Output 1

13

Sample Input 2

3 0
-4 -10 -8
2 2 -1

Sample Output 2

-4

Bình luận

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



  • -2
    NghiaHungTinCVAK8  đã bình luận lúc 20, Tháng 7, 2025, 13:14

    có bạn nào xài chat nộp kìa đại ca ơiii