Cod sursa(job #2491172)

Utilizator Andreea62389Andreea Tebrean Andreea62389 Data 11 noiembrie 2019 22:29:27
Problema Secventa Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int v[500005];
deque <int>m;
int main()
{
    int n, k, i, maxx=-99999999, poz, a;
    fin >> n >> k;
    fin >> v[1];
    m.push_back(1);
    for(i=2; i<=n; i++)
    {
        fin >> v[i];
        while(v[m.front()]>=v[i] && m.empty()==0)
            m.pop_front();
        m.push_front(i);
        if(m.back()<=i-k)  m.pop_back();
            if(v[m.back()]>maxx){ maxx=v[m.back()];   poz=i;}
    }
    if(i<k) i=k;
    fout << poz-k+1 << " " << poz << " " << maxx;

    return 0;
}