Pagini recente » Cod sursa (job #679531) | Cod sursa (job #3031544) | Cod sursa (job #1820191) | Cod sursa (job #2039748) | Cod sursa (job #2446740)
#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]);
if(v[i]<=0)
v[i]=-v[i];
}
st=1;dr=0;
max1=0;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 && v[d[st]]>max1)
{
max1=v[d[st]];
poz=i;
}
}
printf("%d %d %d",poz-k+1,poz,max1);
return 0;
}