Cod sursa(job #2849747)

Utilizator hutanuHutanu Andrei hutanu Data 15 februarie 2022 18:15:00
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;

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

int n, k, v[50005], i, j, summax = -99999999, minim, pozminim, pozinceput, pozfinal;

int main()
{
    fin >> n >> k;
    for(i = 1; i <= n; i++)
    {
        fin >> j;
        v[i] = v[i - 1] + j;
    }
    for(i = 1; i <= n; i++)
    {
        if(v[i] - minim > summax && i - pozminim >= k)
        {
            summax = v[i] - minim;
            pozinceput = pozminim + 1;
            pozfinal = i;
        }
        if(i - k + 1 >= 1 && v[i] - v[i - k] > summax)
        {
            summax = v[i] - v[i - k];
            pozinceput = i - k + 1;
            pozfinal = i;
        }
        if(v[i] < minim)
        {
            minim = v[i];
            pozminim = i;
        }
    }
    fout << pozinceput << ' ' << pozfinal << ' ' << summax << '\n';
    return 0;
}