Pagini recente » Cod sursa (job #2230634) | Cod sursa (job #1440451) | Cod sursa (job #1734334) | Cod sursa (job #2785095) | Cod sursa (job #2915833)
#include <fstream>
#include <vector>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int n,k;
vector<int> v;
deque<int> dq;
void read() {
cin>>n>>k;
v.resize(n+1);
for(int i=1;i<=n;i++) {
cin>>v[i];
}
}
void solve() {
int l=1,r=1,currMin;
int res=-1e9;
dq.push_back(1);
int resS,resE;
for(int i = 2; i <= n; i++){
while(!dq.empty() && v[i] <= v[dq.back()]){
dq.pop_back();
}
dq.push_back(i);
if(dq.front()+k ==i)dq.pop_front();
if(i >= k && res < v[dq.front()]){
res = v[dq.front()];
l = i - k + 1;
r = i;
}
}
cout<<l<<" "<<r<<" "<<res;
}
int main() {
read();
solve();
return 0;
}