Pagini recente » Cod sursa (job #1584411) | Cod sursa (job #3177838) | Cod sursa (job #1431455) | Cod sursa (job #1462520) | Cod sursa (job #2446750)
#include <cstdio>
using namespace std;
int v[500001];
int d[500001];
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int n,k,i,st,dr,max1,poz;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
st=1;dr=0;
max1=-2000000005;poz=0;
for(i=1;i<=n;i++)
{
if(d[st]==i-k)++st;
while(st<=dr && v[d[dr]]>=v[i])--dr;
d[++dr]=i;
if(i>=k && st<=dr && v[d[st]]>max1)
{
max1=v[d[st]];
poz=i;
}
}
printf("%d %d %d",poz-k+1,poz,max1);
return 0;
}