Cod sursa(job #1218540)

Utilizator cojocarugabiReality cojocarugabi Data 11 august 2014 17:02:56
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
# include <fstream>
# include <iostream>
# include <queue>
# include <deque>
# define nmax 500005
using namespace std;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int S[nmax];
deque <int> Q;
int main(void)
{
    int n,k;
    fi>>n>>k;
    for (int i=1;i<=n;++i) fi>>S[i];
    int Max=-(1<<30);
    int p,u;
    for (int i=1;i<=n;++i)
    {
        while (!Q.empty() && S[i]<=S[Q.back()]) Q.pop_back();
        Q.push_back(i);
        if (Q.front()<=i-k) Q.pop_front();
        if (Q.front()>Max && i>=k) Max=S[Q.front()],p=i-k+1,u=i;
    }
    fo<<p<<" "<<u<<" "<<Max<<"\n";
}