Cod sursa(job #2396334)

Utilizator Andy_ANDYSlatinaru Andrei Alexandru Andy_ANDY Data 3 aprilie 2019 13:45:49
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda excelenta-tema4 Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
int v[500006];
ifstream f ( "secventa.in" ); ofstream g ( "secventa.out" );
int main()
{   int n,k,vmax=INT_MIN,s1=0,s2=0;
    f>>n>>k;
    deque < int > d;
    for(int i=1;i<=n;i++) f>>v[i];
    for(int i=1;i<=n;i++)
    {   while(!d.empty() and v[i]<=v[d.back()]) d.pop_back();
        if(!d.empty() and d.front()==i-k) d.pop_front();
        d.push_back(i);
        if(i>=k)
            if(v[d.front()]>vmax)
            {   vmax=v[d.front()];
                s1=i; s2=i-k+1;
            }
    }
    g<<s2<< ' ' <<s1<< ' ' <<vmax;
    return 0;
}