Pagini recente » Cod sursa (job #1543143) | Cod sursa (job #462632) | Cod sursa (job #1970170) | Cod sursa (job #766995) | Cod sursa (job #1442451)
#include <stdio.h>
#include <stdlib.h>
int v[500001],s[500001];
int main()
{
int n,k,i,u,j,max,p,a,b;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1; i<=n; i++)
scanf("%d",&v[i]);
u=0;
for(i=1; i<=k; i++)
{
for(j=u; j>0; j--)
if(v[i]>=v[s[j]])
break;
s[++j]=i;
u=j;
}
max=v[s[1]];
a=1;
b=k;
p=1;
while(i<=n)
{
while(s[p]<i-k+1 && p<=u)
p++;
for(j=u; j>p-1; j--)
if(v[i]>=v[s[j]])
break;
s[++j]=i;
u=j;
i++;
if(v[s[p]]>max)
{
max=v[s[p]];
a=i-k;
b=i-1;
}
}
printf("%d %d %d",a,b,max);
return 0;
}