Cod sursa(job #3307626)

Utilizator Andrei_GAndreiG Andrei_G Data 22 august 2025 12:29:16
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <algorithm>
#include <string>
#include <cmath>
#include <queue>
#include <deque>
#include <map>
#include <stack>
#include <vector>
#define int long long
using namespace std;

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

deque<int> dq;

int n, k, v[500005], x = 0, y = 0, mx = -30005;

signed main(){
    cin>>n>>k;
    for (int i = 1; i <= n; i++){
        cin>>v[i];
        while (dq.empty() == false && v[dq.back()] > v[i]){
            dq.pop_back();
        }
        while (dq.empty() == false && dq.front() <= i - k){
            dq.pop_front();
        }
        dq.push_back(i);
        if (i >= k && mx < v[dq.front()]){
            mx = v[dq.front()];
            x = i - k + 1;
            y = dq.back();
        }
    }
    cout<<x<<" "<<y<<" "<<mx;
}