Pagini recente » Cod sursa (job #718848) | Cod sursa (job #1246703) | Cod sursa (job #2637512) | Cod sursa (job #2706613) | Cod sursa (job #250038)
Cod sursa(job #250038)
#include <stdio.h>
#define lg_max 500010
int sir[lg_max],poz[lg_max];
int n,k,u,p;
int maxx,pi;
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",&sir[i]);
u=0;
p=1;
maxx=-2532634;
for (int i=1;i<=n;i++)
{
while (u>=p && sir[i]<=sir[poz[u]])
u--;
poz[++u]=i;
if (poz[p]==i-k)
p++;
if (i>=k)
{
if (sir[poz[p]]>maxx)
{
maxx=sir[poz[p]];
pi=poz[p];
}
}
}
printf("%d %d %d\n",pi,pi+k-1,maxx);
return 0;
}