Điểm:
200 (p)
Thời gian:
0.5s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho dãy số nguyên dương gồm \(N\) phần tử \(a_1,a_2,..,a_N\) và số nguyên dương \(K\). Chọn ra \(K\) phần tử liên tiếp sao cho tổng của chúng là lớn nhất. In ra giá trị đó
Input
- Dòng 1: hai số nguyên dương \(N\) và \(K\) \((K \le N \le 10^5)\);
- Dòng 2: gồm \(N\) số nguyên dương \(a_1,a_2,...,a_N\) \((a_i \le 10^9)\)
Output
- In ra đáp án thỏa mãn yêu cầu đề bài.
Example
Test 1
Input
6 2
2 4 5 2 9 1
Output
11
Bình luận
INF = float("-inf")
n, k = map(int, input().split())
a = list(map(int, input().split()))
d = [0] * (n + 1)
for i in range(1, n + 1):
d[i] = d[i - 1] + a[i - 1]
nmax = INF
if k <= n:
for i in range(k, n + 1):
nmax = max(nmax, d[i] - d[i - k])
print(nmax)
PY3
9 bình luận nữa