Pagini recente » Cod sursa (job #2898345) | Cod sursa (job #1278822) | Cod sursa (job #209889) | Cod sursa (job #941407) | Cod sursa (job #515104)
Cod sursa(job #515104)
#include <stdio.h>
#define NMAX 500005
#define INF 2000000000
int n,k,A[NMAX],rez,st,dr,act,deq[NMAX],inc,sf;
inline int min(int x,int y)
{
return x<y ? x : y;
}
void baga(int poz)
{
while (inc!=sf && A[deq[sf-1]]>=A[poz])
sf--;
deq[sf++]=poz;
}
void verifica(int poz)
{
if (poz-deq[inc]>=k)
inc++;
}
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
int i;
for (i=1; i<=n; i++)
scanf("%d",&A[i]);
rez=-INF;
for (i=1; i<=n; i++)
{
baga(i);
verifica(i);
if (i>=k && A[deq[inc]]>rez)
rez=A[deq[inc]],st=i-k+1,dr=i;
}
printf("%d %d %d\n",st,dr,rez);
return 0;
}