Cod sursa(job #1903445)

Utilizator NinjaCubeMihai Radovici NinjaCube Data 5 martie 2017 11:33:58
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
int n,k,i,x,ps,maxZ,st,dr,v[500000];
deque<int> d;
int main(){
    ifstream fin ("secventa.in");
    ofstream fout ("secventa.out");
    fin>>n>>k;
    maxZ=-30001;
    for(i=1;i<=n;i++) fin>>v[i];
    for (i=1;i<=n;++i){
        while(!d.empty() && v[i]<=v[d.front()]) d.pop_front();
        d.push_front(i);
        if(d.back()<=i-k)
        d.pop_back();
        if (i>=k && v[d.back()]>maxZ){
            maxZ=v[d.back()];
            dr=i;
            st=i-k+1;}
    }
fout<<st<<" "<<dr<<" "<<maxZ;
    return 0;
}