Cod sursa(job #2862035)

Utilizator MarcMariaMarc Antonia Maria MarcMaria Data 4 martie 2022 20:15:26
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>

using namespace std;

ifstream cin("secv2.in");
ofstream cout("secv2.out");

int n, k, a[50005],j,i;
int suma_maxima=-1e9, minim, poz_minim, pozininitiala , finis;

int main()
{
    cin >> n >> k;
    for(i = 1; i <= n; i++)
    {
        cin >> j;
        a[i] = a[i - 1] + j;
    }
    minim=0;
    poz_minim=0;
    for( i = 1; i <= n; i++)
    {
        if(a[i] - minim > suma_maxima && i - poz_minim>= k)
        {
            suma_maxima = a[i] - minim;
            pozininitiala  = poz_minim+ 1;
            finis = i;
        }
        if(i - k + 1 >= 1 && a[i] - a[i - k] > suma_maxima)
        {
            suma_maxima = a[i] - a[i - k];
            pozininitiala  = i - k + 1;
            finis= i;
        }
        if(a[i] < minim)
        {
            minim = a[i];
            poz_minim = i;
        }
    }
    cout << pozininitiala <<" " << finis << " "<< suma_maxima <<endl;
    return 0;
}