Cod sursa(job #3336207)

Utilizator TeocipTudorica Ciprian Teodor Teocip Data 24 ianuarie 2026 13:32:37
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int main(){
    long long int n, k, sum_cur = 0, sum_max = -999999999, st, dr, lc_i = 0, l_max = 0, elem_max = -999999999999999, index_elem_max = 0;
    fin >> n >> k;
    for(int i = 0; i < n; i++){
        long long int x_i;
        fin >> x_i;
        if(sum_cur + x_i >= 0){
            sum_cur += x_i;
            lc_i++;
        }else{
            sum_cur = 0;
            lc_i = 0;
        }
        if(lc_i < k){
            continue;
        }
        if(x_i > elem_max){
            elem_max = x_i;
            index_elem_max = i + 1;
        }
        if(sum_cur > sum_max){
            sum_max = sum_cur;
            l_max = lc_i;
            st = i - lc_i + 1;
            dr = i;
        }else if(sum_cur == sum_max){
            if(lc_i < l_max){
            sum_max = sum_cur;
            l_max = lc_i;
            st = i - lc_i + 1;
            dr = i;     
            }
        }
    }
    st++;
    dr++;
    if(elem_max <= 0){
        fout << elem_max << " " << index_elem_max << " " << index_elem_max;
        return 0;
    }
    fout << st << " " << dr << " " << sum_max;
    return 0;
}