Tổng con liên tiếp tối ưu

Xem dạng PDF

SUBMIT SOLUTION

ID: tcpp25_ai_optimal_sa_sum

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

Nguồn bài:
Together CPP 2025 - AI Contest
Dạng bài

Cho một mảng ~A~ gồm ~n~ số nguyên và một số nguyên ~k~. Bạn cần tìm tổng con liên tiếp có tổng lớn nhất sao cho:

  1. Độ dài của dãy con phải chính xác bằng ~k~.
  2. Tổng của dãy con phải chia hết cho ~k~.

Nếu không tồn tại dãy con nào thỏa mãn điều kiện, in ra -1.

Note: Giả sử Input chỉ có một Testcase duy nhất.

Input Specification

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~ ~(1 \le k \le n \le 10^5)~.
  • Dòng thứ hai chứa ~n~ số nguyên ~A_1, A_2, \dots, A_n~ ~(-10^9 \le A_i \le 10^9)~.

Output Specification

  • In ra một số nguyên duy nhất: tổng con liên tiếp tối ưu thỏa mãn điều kiện, hoặc -1 nếu không tồn tại.

Constrains

  • ~1 \le k \le n \le 10^5~.
  • ~-10^9 \le A_i \le 10^9~.

Sample Cases

Input #1:
5 3
1 2 3 4 5
Output #1:
9
Explanation #1:

Dãy con ~[2, 3, 4]~ có tổng ~= 9~, độ dài ~= 3~, và ~9~ chia hết cho ~3~. Đây là dãy con tối ưu.

Input #2:
4 2
-1 -2 -3 -4
Output #2:
-1
Explanation #2:

Không có dãy con nào có độ dài ~2~ và tổng chia hết cho ~2~.

Input #3:
6 3
1 1 1 1 1 1
Output #3:
3
Explanation #3:

Dãy con ~[1, 1, 1]~ có tổng ~= 3~, độ dài ~= 3~, và ~3~ chia hết cho ~3~.


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.