Pagini recente » Cod sursa (job #1817987) | Cod sursa (job #1595328) | Cod sursa (job #2401218) | Cod sursa (job #2612845) | Cod sursa (job #1750733)
#include <stdio.h>
using namespace std;
int v[500005];
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int n,k,i,p,u,a,poz,len,m=-1000000,deltapoz,pozfin;
int deq[500010];
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%d",v+i);
p=1;u=0;
for(i=1;i<=n;i++)
{
a=v[i];
while(p<=u&&v[deq[u]]>a)
u--;
deq[++u]=i;
if(i-deq[p]>=k) p++;
if(m<v[deq[p]])
{
m=v[deq[p]];
poz=deq[p];
}
}
for(i=poz-1;v[i]>m;i--);
deltapoz=poz-i;
if(k<deltapoz) pozfin=poz;
else pozfin=poz+k-deltapoz;
printf("%d %d %d",i+1,pozfin,m);
return 0;
}