Cod sursa(job #2915825)

Utilizator db_123Balaban David db_123 Data 25 iulie 2022 12:38:03
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

ifstream cin("secventa.in");
ofstream cout("secventa.out");

int n,k;
vector<int> v;
deque<int> dq;

void read() {
    cin>>n>>k;
    v.resize(n+1);
    for(int i=1;i<=n;i++) {
        cin>>v[i];
    }
}

void solve() {
    int i=1;
    int res=0;
    dq.push_back(1);
    int resS,resE;
    while(i<=n) {
        while(!dq.empty() && v[dq.back()]>v[i]) {
            dq.pop_back();
        }
        if(i-dq.front()>=k and !dq.empty()) dq.pop_front();

        dq.push_back(i);

        if(i>=k)
            if(res<v[dq.front()]) {
                res=v[dq.front()];
                resS=i;
            }
        i++;
    }
    cout<<resS-k+1<<" "<<resS<<" "<<res;
}

int main() {

    read();
    solve();
    return 0;
}