Tổng k số

Xem PDF

Đ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\)\(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

  • leminhduc 7:42 p.m. 13 Tháng 12, 2024

    include<bits/stdc++.h>

    define ll long long

    define f(i, a, b) for(ll i=(a); i<=(b); ++i)

    using namespace std;
    int main (){
    cin.tie(nullptr)->sync_with_stdio(false);
    ll n, k, ans=0;
    cin >> n >> k;
    vector<ll> s(n+1);
    s[0]=0;
    f(i, 1, n){
    ll x;
    cin >> x;
    s[i]=s[i-1]+x;
    }
    f(i, 1, n-k+1) ans=max(ans, s[i+k-1]-s[i-1]);
    cout << ans;
    return 0;
    }

    • 11 bình luận nữa