Cod sursa(job #2762651)

Utilizator ValiAntonie123Antonie Valentin ValiAntonie123 Data 9 iulie 2021 07:16:35
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;

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

int n,k,x,i,Max=-2000000000,j,start,finish,sum,st,suma[50005];

int main()
{
fin>>n>>k;
st = 1;
for(i=1;i<=n;i++){
    fin>>x;
    suma[i] = suma[i-1] + x;
    sum += x;
    if(sum > Max && i - st - 1 >= k){
        start = st;
        Max = sum;
        finish = i;
    }
    if(sum < 0){
        sum = 0;
        st = i + 1;
    }
}
if(Max == -2000000000){
    for(i=1;i<=n-k+1;i++){
        if(suma[i+k-1] - suma[i-1] > Max){
            Max = suma[i+k-1] - suma[i-1];
            start = i;
            finish = i+k-1;
        }
    }
}
fout << start << " " << finish << " " << Max;

    return 0;
}