Pagini recente » Cod sursa (job #605185) | Monitorul de evaluare | Cod sursa (job #216475) | Cod sursa (job #986909) | Cod sursa (job #2964611)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n, k, v[500001], Max=-1e9, st, dr;
deque <int> d;
int main(){
fin>>n>>k;
for(int i=1; i<=n; i++){
fin>>v[i];
}
for(int 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(v[d.front()]>Max && i>=k){
Max=v[d.front()];
st=i-k+1;
dr=i;
}
}
fout<<st<<" "<<dr<<" "<<Max;
}