Cod sursa(job #2990672)

Utilizator nnmadalinNeauna Madalin nnmadalin Data 8 martie 2023 12:26:12
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <bits/stdc++.h>
using namespace std;

#define swap(a,b) a^=b^=a^=b
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b

const string file_name = "secv2";
ifstream fin(file_name + ".in");
ofstream fout(file_name + ".out");

int n, k;
long long s = 0, istart = 1, ifin = 1, nmax = -9999999999, a = 1, b = 1;

int main(){

    fin >> n >> k;

    for(int i = 1; i <= n; i++){
        int x; fin >> x;

        if(s < 0){
            s = x;
            istart = i;
            ifin = i;
            if(s > nmax && ifin - istart + 1 >= k){
                nmax = s;
                a = i, b = i;
            }

        }
        else{
            s += x;
            if(s > nmax && i - istart + 1 >= k){
                nmax = s;
                b = i;
                a = istart;
                ifin = i;
            }
        }
    }


    fout << a << " " << b << " " << nmax;


    return 0;
}