Cod sursa(job #1010864)

Utilizator sebinechitasebi nechita sebinechita Data 15 octombrie 2013 20:41:30
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
#include <queue>
#include <deque>
#include <iomanip>
#include <stack>
#include <cstdio>

using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

#define baza 10
#define MAX 501000

deque <int> coada;

int main()
{
    int n ,k, i, a[MAX], b=INT_MIN, x=0;
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    for(i=1;i<=n;i++)
    {
        while(!coada.empty() && a[coada.back()]>=a[i])
        {
            coada.pop_back();
        }
        coada.push_back(i);
        if(coada.front()==i-k)
        {
            coada.pop_front();
        }
        if(i>=k && a[coada.front()]>b)
        {
            b=a[coada.front()];
            x=i;
        }

    }
    fout<<x-k+1<<" "<<x<<" "<<b;



    return 0;
}