Cod sursa(job #2046285)

Utilizator IsacLucianIsac Lucian IsacLucian Data 23 octombrie 2017 17:42:40
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,k,a[500002];
deque<int>d;

int main()
{
    int i,maxim,poz;
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>a[i];

    maxim=-30001;poz=0;
    for(i=1;i<=n;i++)
    {
        while(!d.empty() && a[d.back()]>=a[i])
            d.pop_back();

        d.push_back(i);

        if(i-k==d.front())d.pop_front();

        if(i>=k)
        {
            if(maxim<a[d.front()])
            {
                maxim=a[d.front()];
                poz=d.front();
            }
        }

    }
    fout<<poz<<" "<<poz+k-1<<" "<<maxim<<"\n";
    return 0;
}