Pagini recente » Cod sursa (job #2926251) | Cod sursa (job #101572) | Cod sursa (job #2665681) | Cod sursa (job #2161926) | Cod sursa (job #355432)
Cod sursa(job #355432)
#include<stdio.h>
long j,i,x[500001],t,in,sf,sec,k,n;
int a[500001],rez[500001],v[500001],max=-30001;
int main ()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%ld%ld",&n,&k);
in=1;
sf=0;
sec=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if(i-k+1>x[in])
in++;
t=sf;
if(i>1)
{
while(v[t]>a[i])
{
t--;
if(t<in)
break;
}
}
t++;
sf=t;
v[sf]=a[i];
x[sf]=i;
if(v[in]>max)
{
if(i>=k)
{ max=v[in];
for(j=x[sf];j>=x[sf]-k+1;j--)
rez[x[sf]-j+1]=a[j];
}
}
}
for(i=1;i<=k;i++)
printf("%d ",rez[i]);
return 0;
}