Cod sursa(job #1182148)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 4 mai 2014 21:42:32
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#include<iostream>
#define nmax 500009
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int sol = -40000,v[nmax],deq[nmax],k,front,back,n,x2;

int main()
{

    in>>n>>k;
    int i;
    front = 1;
    back = 0;
    for(i = 1 ; i <= n ; i++)
    {
        in>>v[i];
        while(front <= back && v[i] <= v[deq[back]])
            --back;
        deq[++back] = i;
        if(deq[front] == i-k) front++;
            if(v[deq[front]] > sol && i >= k){
                sol = v[deq[front]];
                 x2 = i;
                 }

    }

    out<<x2-k+1<<" "<<x2<<" "<<sol;
    out.close();
    in.close();
    return 0;
}