Cod sursa(job #919212)

Utilizator iuli1505Parasca Iuliana iuli1505 Data 19 martie 2013 14:57:37
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<cstdio>
#include<deque>
#define nmax 500010
using namespace std;
deque<int>q;
int n,k,i,x[nmax],crt,sol=-30010;
int main()
{
    freopen("secventa.in","r",stdin);
    freopen("secventa.out","w",stdout);
    scanf("%d%d", &n, &k);
    for(i=1;i<=n;++i)scanf("%d", &x[i]);
    for(i=1;i<=n;i++)
    {
        while(q.size()&&x[q.back()]>=x[i])
            q.pop_back();
        q.push_back(i);
        if(q.front()==i-k)
            q.pop_front();
        if(i>=k&&x[q.front()]>sol)
        {
            sol=x[q.front()];
            crt=i;
        }
    }
    printf("%d %d %d ", crt-k+1, crt, sol);
    return 0;
}