Pagini recente » Cod sursa (job #1481903) | Cod sursa (job #1833887) | Cod sursa (job #1923594) | Cod sursa (job #2345449) | Cod sursa (job #2031901)
#include <bits/stdc++.h>
using namespace std;
int n,k;
int st,dr,ans;
int dq[500005];
int v[500005];
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
for(int i=1; i<=n; i++)
scanf("%d",&v[i]);
dq[1]=1;
ans=-2e9;
int front=1,back=1;
for(int i=2; i<=n; i++)
{
while(front<=back && i-dq[front]+1>k) front++;
while(front<=back && v[dq[back]]>=v[i]) back--;
dq[++back]=i;
if(i>=k && v[dq[front]]>ans)
{
ans=v[dq[front]];
st=i-k+1;
dr=i;
}
}
printf("%d %d %d\n",st,dr,ans);
return 0;
}