Pagini recente » Monitorul de evaluare | Cod sursa (job #3366865) | Cod sursa (job #3366864) | Cod sursa (job #3366877) | Cod sursa (job #3366872)
#include <bits/stdc++.h>
using namespace std;
vector<int> v;
deque<int> dq;
int main()
{
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int n, k;
cin>>n>>k;
for(int i=0;i<n;i++) {
int a;
cin>>a;
v.push_back(a);
}
int maxim=-500000;
int st=0;
int dr=k-1;
for (int i=0; i<n; i++) {
while(!dq.empty() && v[dq.back()]>=v[i]) {
dq.pop_back();
}
dq.push_back(i);
if (dq.front()<=i-k) {
dq.pop_front();
}
if (i>=k-1) {
if (v[dq.front()]>maxim) {
maxim=v[dq.front()];
st=i-k+1;
dr=i;
}
}
}
cout<<st+1<<" "<<dr+1<<" "<<maxim<<endl;
return 0;
}