Pagini recente » Cod sursa (job #408555) | Cod sursa (job #585088) | Cod sursa (job #1711520) | Cod sursa (job #1339888) | Cod sursa (job #1608185)
#include <iostream>
#include <cstdio>
#define longn 500005
#include <climits>
using namespace std;
int deq[longn],v[longn];
int n,k,maxn=INT_MIN,pozi,pozf;
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]);
int Front=1,Back=0;
for (int i=1;i<=n;++i)
{
while (Front<=Back && v[i]<v[deq[Back]])
--Back;
deq[++Back]=i;
if (deq[Front]==i-k)
Front++;
if (i>=k && v[deq[Front]]>maxn)
{
pozi=i-k+1;
pozf=i;
maxn=v[deq[Front]];
}
}
printf("%d %d %d",pozi,pozf,maxn);
return 0;
}