Cod sursa(job #3157161)

Utilizator NToniBoSSNicolae Tonitza NToniBoSS Data 14 octombrie 2023 15:33:30
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
int s[50001];
int main() {
    int i, n, k, x, minel, posel, maxsum, posmax, posmin;
    freopen("secv2.in", "r", stdin);
    freopen("secv2.out", "w", stdout);
    scanf("%d%d", &n, &k);
    for(i = 1; i <= n; i++){
        scanf("%d", &x);
        s[i] = s[i - 1] + x;
    }
    minel = 0;
    posel = 0;
    maxsum = s[k];
    posmax = k;
    posmin = 0;
    for(i = k + 1; i <= n; i++){
        if(minel > s[i - k]){
            minel = s[i - k];
            posel = i - k;
        }
        if(maxsum < s[i] - minel){
            maxsum = s[i] - minel;
            posmax = i;
            posmin = posel;
        }
    }
    printf("%d %d %d\n", posmin + 1, posmax, maxsum);

    return 0;
}