Cod sursa(job #1953137)

Utilizator cipri321Marin Ciprian cipri321 Data 4 aprilie 2017 17:38:45
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int A[500001];
int n,k;
deque<int> D;
int rez;
int inc,sf;
int main()
{
    fi>>n>>k;
    for(int i=1;i<=n;i++)
        fi>>A[i];
    rez=-30001;
    D.push_back(1);
    for(int i=2;i<=n;i++)
    {
        while(!D.empty() && A[i]<=A[D.back()])
            D.pop_back();
        D.push_back(i);
        while(!D.empty() && i-D.front()>=k)
            D.pop_front();
        if(!D.empty() && i>=k&& A[D.front()]>rez)
            rez=A[D.front()],inc=i-k+1,sf=i;
    }
    fo<<inc<<" "<<sf<<" "<<rez;
    fi.close();
    fo.close();
    return 0;
}