Cod sursa(job #2491158)

Utilizator Andreea62389Andreea Tebrean Andreea62389 Data 11 noiembrie 2019 22:15:36
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 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];
        a=m.back();
        while(m.empty()==0 && v[m.front()]>v[i])
            m.pop_front();
        m.push_front(i);
        if(m.back()<=i-k)  m.pop_back();
        if(i>=k)
        {
            if(v[m.back()]>maxx){ maxx=v[m.back()];   poz=i;}
        }
    }
    fout << poz-k+1 << " " << poz << " " << maxx;

    return 0;
}