Cod sursa(job #2809119)

Utilizator cdenisCovei Denis cdenis Data 26 noiembrie 2021 00:19:44
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

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

int n,k,x,ma=-2000000000,l,r,sum,sp[50005];
deque < int > dq;

int main()
{
    fin >> n >> k;
    for(int i=1;i<=n;i++)
    {
        fin >> x;
        sp[i]=sp[i-1]+x;
    }
    for(int i=k;i<=n;i++)
    {
        x=sp[i-k];
        while(!dq.empty() && sp[dq.back()]>x)
            dq.pop_back();
        dq.push_back(i-k);
        sum=sp[i]-sp[dq.front()];
        if(sum>ma)
        {
            ma=sum;
            l=dq.front()+1;
            r=i;
        }
    }
    fout << l << " " << r << " " << ma;
    return 0;
}