Cod sursa(job #1258664)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 9 noiembrie 2014 10:46:08
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <deque>

using namespace std;

struct nod{int p,v;};
deque<nod> q;
int n,l,i,maxb,maxst,maxfi;
nod nr;

int main()
{
    freopen("secventa.in","r",stdin);
    freopen("secventa.out","w",stdout);
    scanf("%d %d",&n,&l);
    maxb=-30010;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&nr.v);
        nr.p=i;
        while(!q.empty() && q.back().v>=nr.v) q.pop_back();
        q.push_back(nr);
        if(i>=l && q.front().v>maxb)
        {
            maxb=q.front().v;
            maxfi=i;
        }

        if(i-q.front().p>=l-1) q.pop_front();
    }
    printf("%d %d %d\n",maxst-l+1,maxfi,maxb);
    return 0;
}