Cod sursa(job #2759442)

Utilizator tryharderulbrebenel mihnea stefan tryharderul Data 17 iunie 2021 19:26:26
Problema Secventa Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX = 500001;

int n,k;
int hmax=-INT_MAX,a,b;
int v[NMAX];

deque<int>q;

int main(){
    freopen("secventa.in","r",stdin);
    freopen("secventa.out","w",stdout);
    scanf("%d %d",&n,&k);
    for(int i=1;i<=n;i++){
        scanf("%d",&v[i]);
        while(!q.empty() && v[i] < v[q.back()]){
            q.pop_back();
        }
        q.push_back(i);
        if(i-q.front()>=k){
            q.pop_front();
        }
        if(i>=k){
            if(hmax < v[q.front()]){
                hmax = v[q.front()];
                a = i - k+1;
                b = i;
            }

        }
    }
    printf("%d %d %d",a,b,hmax);
    return 0;
}