Cod sursa(job #2398824)

Utilizator vladadAndries Vlad Andrei vladad Data 6 aprilie 2019 11:23:48
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda excelenta-tema4 Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("secventa.in");
ofstream g ("secventa.out");
int v[500006];
int n, k, vmax=-1e9, s1, s2;
deque<int>d;
int main()
{
    f>>n>>k;
    for(int i=1; i<=n; i++)
        f>>v[i];
    for(int i=1; i<=n; i++)
    {
        while(!d.empty() && v[i]<=v[d.back()]) d.pop_back();
        if(!d.empty() && 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;
}