Cod sursa(job #1521494)

Utilizator NightSilentIridon Stefan NightSilent Data 10 noiembrie 2015 16:08:36
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");

deque<int>d;
int a[500001];
int main()
{
    int i,n,p,min=-30001,k;
    f>>n>>k;
    for (i=1;i<=n;i++)
        f>>a[i];
    for (i=1;i<=n;i++)
        {
            while (!d.empty() && a[i]<a[d.back()]) d.pop_back();
            d.push_back(i);
            if (d.front()==i-k) d.pop_front();
            if (i>=k && a[d.front()]>min)
                {
                    min=a[d.front()];
                    p=i;
                }
        }
    g<<p-k+1<<" "<<p<<" "<<min;
    return 0;
}