Cod sursa(job #3265204)

Utilizator Martin_BohonyiMartin Bohonyi Martin_Bohonyi Data 27 decembrie 2024 23:21:07
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream>
#include<deque>

using namespace std;

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

int N , K ;
long long V[50001];

int main()
{
fin>>N>>K;
for(int i=1 ; i<=N ; i++){
    fin>>V[i];
    V[i]+=V[i-1];
 }

deque<int>Dq;
long long Maxx=1LL*50001*-25000;
int PozS , PozF;
for(int i=K ; i<=N ; i++){
     while(!Dq.empty() && V[i-K]<=V[Dq.back()])
            Dq.pop_back();

     Dq.push_back(i-K);
     if(V[i]-V[Dq.front()] > Maxx){
         Maxx=V[i]-V[Dq.front()];
         PozF=i;
         PozS=Dq.front()+1;
     }
 }

fout<<PozS<<' '<<PozF<<' '<<Maxx<<'\n';
return 0;
}