Cod sursa(job #1572524)

Utilizator TudorVersoiuVersoiu Tudor Sorin TudorVersoiu Data 18 ianuarie 2016 22:54:17
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <deque>

using namespace std;
ifstream f("secventa.in" );
ofstream g("secventa.out");



int N, K, V[500001];
deque<int> coada;

int main() {
    f >> N >> K;

    int min = -30001;
    int end = 0;


    for(int i = 1; i <= N ; i++)
    {
        f >> V[i];


        while(!(coada.empty()) && V[coada.back()] >= V[i]) coada.pop_back();
        coada.push_back(i);

        if(coada.front() <= i-K) coada.pop_front();

        if(i >= K && min < V[coada.front()])
        {
            min = V[coada.front()];
            end = i;
        }
    }
    g<<end-K+1<<" "<<end<<" "<<min;
    return 0;
}