Cod sursa(job #2511274)

Utilizator DooMeDCristian Alexutan DooMeD Data 18 decembrie 2019 17:50:08
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f ("secventa.in");
ofstream g ("secventa.out");
int main()
{
    deque <int> poz,val;
    int n,k,i,x,mx=-30001,mxi,mxs;
    f >> n >> k;
    for(i=1; i<=n; i++) {
        f >> x;
        while(!val.empty() and x<=val.front()) {
            val.pop_front();
            poz.pop_front();
        }
        val.push_front(x);
        poz.push_front(i);
        if(poz.back()<i-k+1) {
            poz.pop_back();
            val.pop_back();
        }
        if(i>=k and val.back()>mx) {
            mx=val.back();
            mxs=i;
        }
    }
    g << mxs-k+1 << " " << mxs << " " << mx;
    return 0;
}