Cod sursa(job #1147778)

Utilizator denis_tdrdenis tdr denis_tdr Data 20 martie 2014 09:43:08
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;

int n, k, bMax, a, b, v[500005];
deque<int> deq;

int main(){
    ifstream f("secventa.in");
    f>>n>>k;
    for(int i=1;i<=n;i++)
        f>>v[i];
    bMax=-30001;
    for(int i=1;i<=n;i++){
        while(deq.size() && v[deq.back()]>v[i])
            deq.pop_back();
        deq.push_back(i);
        if(deq.front()==i-k)
            deq.pop_front();
        if(i>=k && v[deq.front()]>bMax)
            bMax=v[deq.front()], a=i-k+1, b=i;
    }
    ofstream g("secventa.out");
    g<<a<<" "<<b<<" "<<bMax;
    //cout<<a<<" "<<b<<" "<<bMax;
    return 0;
}