Pagini recente » Cod sursa (job #1071462) | Cod sursa (job #1710632) | Cod sursa (job #1831685) | Cod sursa (job #969436) | Cod sursa (job #2862605)
#include <iostream>
#include <deque>
using namespace std;
int a[500001];
int maxi=-1;
int n, k;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("secventa.in","r", stdin);
freopen("secventa.out","w",stdout);
cin>>n>>k;
deque<int> Q(n+1);
for(int i=1;i<=n;i++){
cin>>a[i];
}
int front =1;
int back=0;
int stop;
for(int i=1;i<=n;i++){
if(front<=back && a[Q[back]]>=a[i]){
back--;
}
Q[++back]=i;
if(Q[front]==i-k){
stop=Q[front]+back-front+1;
front++;
}
if(i>=k){
if(a[Q[front]]>maxi){
maxi=a[Q[front]];
stop=i;
}
}
}
cout << stop-k+1<<' '<<stop<<' '<<maxi;
return 0;
}