Cod sursa(job #3298707)

Utilizator Grama2008Grama Andrei Teodor Grama2008 Data 31 mai 2025 23:34:35
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
    freopen("secventa.in", "r", stdin);
    freopen("secventa.out", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n,k;
    cin>>n>>k;
    deque<int> q;
    vector<int> v(n);
    for (int i=0;i<n;i++){
        cin>>v[i];
    }
    for (int i=0;i<k;i++){
        while (!q.empty() && v[i]<=v[q.back()]){
            q.pop_back();
        }
        q.push_back(i);
    }
    int ans=v[q.front()];
    int s=0, e=k-1;
    for (int i=k;i<n;i++){
        while (!q.empty() && q.front()<i-k+1){
            q.pop_front();
        }
        while (!q.empty() && v[q.back()]>=v[i]){
            q.pop_back();
        }
        q.push_back(i);
        if (v[q.front()]>ans){
            ans=v[q.front()];
            s=i-k+1;
            e=i;
        }
    }
    printf("%d %d %d", s+1, e+1, ans);
    return 0;
}