Pagini recente » Cod sursa (job #1286845) | Cod sursa (job #1440360) | Cod sursa (job #2861592) | Cod sursa (job #1840152) | Cod sursa (job #373921)
Cod sursa(job #373921)
#include<cstdio>
int pozim,pozsm,max,s,d,n,k,dq[500001],v[500001];
inline void st(int i)
{
if(i-dq[s]==k)
++s;
}
void dr(int i)
{
while(s<=d && v[dq[d]]>=v[i])
--d;
dq[++d]=i;
}
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",&v[i]);
dq[1]=1;
s=d=1;
for(int i=2;i<=k;i++)
dr(i);
pozim=1;
pozsm=k;
max=v[dq[s]];
for(int i=k+1;i<=n;i++)
{
st(i);
dr(i);
if(v[dq[s]]>max)
{
pozim=i-k+1;
pozsm=i;
max=v[dq[s]];
}
}
for(int i=pozim;i<=pozsm;++i)
printf("%d ",v[i]);
return 0;
}