Cod sursa(job #2964524)

Utilizator AdrianRosuRosu Adrian Andrei AdrianRosu Data 13 ianuarie 2023 09:49:38
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque <int> d;
int v[500001];
int i, n, k, dr, st, ans = -1e9;
int main(){
fin >> n >> k;
for(i=1;i<=n;i++)
    fin >> v[i];
for(i=1;i<=n;i++){
    while(!d.empty() && v[d.back()] >= v[i])
        d.pop_back();
    while(!d.empty() && i - d.front() >= k)
        d.pop_front();
        d.push_back(i);
        if(i >= k && v[d.front()] > ans){
    ans = max(ans, v[d.front()]);
        dr  = i;
        st = i - k + 1;
        }
}
fout << st << " " << dr << " " << ans;
}