Pagini recente » Cod sursa (job #238815) | Cod sursa (job #705341) | Cod sursa (job #1672759) | Cod sursa (job #2125935) | Cod sursa (job #3181593)
#include <bits/stdc++.h>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque<int> d;
int n, k, dr, st;
short int v[500005];
int main(){
fin>>n>>k;
int i;
for(i=0;i<n;i++){
fin>>v[i];
}
for(i=0;i<k;i++){
while(!d.empty()&&v[i]<=v[d.back()])
d.pop_back();
d.push_back(i);
}
long long int nmin=v[d.front()];
dr=k;
st=1;
for(i=k;i<n;i++){
while(!d.empty()&&v[i]<=v[d.back()])
d.pop_back();
if(!d.empty()&&d.front()==i-k)
d.pop_front();
d.push_back(i);
if(nmin<v[d.front()]){
nmin=v[d.front()];
st=i-k+2;
dr=i+1;
}
}
fout<<st<<' '<<dr<<' '<<nmin<<endl;
return 0;
}