Cod sursa(job #2816798)

Utilizator wav_uuwRares Paul wav_uuw Data 12 decembrie 2021 02:46:07
Problema Secventa 2 Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <queue>

#define INF 2e9

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

int main()
{
    int n, k;
    f >> n >> k;

    queue<int> S;

    int x, sum = 0, inds = 0, inde = -1, smax = -INF, indsm, indem;

    for(int i = 0; i < n; i++)
    {
        f >> x;
        S.push(x);
        sum += x;
        inde++;

        while(!S.empty() && inde - inds >= k && sum - S.front() >= sum)
        {
            sum -= S.front();
            S.pop();
            inds++;
        }

        if(smax < sum && inde - inds + 1 >= k)
        {
            smax = sum;
            indsm = inds;
            indem = inde;
        }

    }

    g << (indsm + 1) << ' ' << (indem + 1) << ' ' << smax << '\n';

    f.close();
    g.close();
    return 0;
}