Cod sursa(job #2781794)

Utilizator Nitr0genVlad Ioan Nitr0gen Data 10 octombrie 2021 14:57:29
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin ("secv2.in");
ofstream fout("secv2.out");

int main() {
    int n, k;
    fin >> n >> k;
    int a[50000];
    for(int i = 0; i < n; i++) cin >> a[i];
    long long int sum = 0;
    for(long long int i = 0; i<k; i++){
        sum += a[i];
    }
    long long int last = 0;
    long long int j = 0;
    long long int ans = LLONG_MIN;
    ans = max(ans,sum);
    int l=1, r=k;
    for(long long int i = k; i<n; i++){
        sum = sum + a[i];
        last = last + a[j++];
        if(sum > ans) {
            ans = sum;
            r = i + 1;
        }
        if(last<0){
            sum = sum-last;
            l = i + 2 - k;
            if(sum > ans) {
                ans = sum;
                r = i + 1;
            }
            last = 0;
        }
    }
    fout << l << ' ' << r << ' ' << ans << '\n';
}