Pagini recente » Cod sursa (job #3252548) | Cod sursa (job #229936) | Cod sursa (job #2361004) | Cod sursa (job #1702519) | Cod sursa (job #374558)
Cod sursa(job #374558)
#include <cstdio>
long long s;
int st,dr,n,k,i,min;
int a[5000001],dq[5000001];
inline void stanga(int i)
{
if (dq[st]==i-k)
st=st+1;
}
void dreapta (int i)
{
while (st<=dr && a[i]<=a[dq[dr]])
dr=dr-1;
dq[++dr]=i;
}
int main ()
{
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1;i<=n;i++)
scanf("%d ",&a[i]);
s=0;
min=10000000;
for (i=1;i<=k-1;i++)
dreapta(i);
for (i=k;i<=n;i++)
{
stanga(i);
dreapta(i);
if (min<a[i])
min=a[i];
printf("%lld",min);
}
return 0;
}