Pagini recente » Cod sursa (job #2460824) | Cod sursa (job #3298703)
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,k;
cin>>n>>k;
deque<int> q;
vector<int> v(n);
for (int i=0;i<n;i++){
cin>>v[i];
}
for (int i=0;i<k;i++){
while (!q.empty() && v[i]<=v[q.back()]){
q.pop_back();
}
q.push_back(i);
}
int ans=q.front();
int s=1, e=k;
for (int i=k;i<n;i++){
while (!q.empty() && q.front()<i-k+1){
q.pop_front();
}
while (!q.empty() && v[q.back()]>=v[i]){
q.pop_back();
}
q.push_back(i);
if (v[q.front()]>ans){
ans=v[q.front()];
s=i-k+1;
e=i;
}
}
printf("%d %d %d", s+1, e+1, ans);
return 0;
}