Pagini recente » Cod sursa (job #900279) | Cod sursa (job #108226) | Cod sursa (job #625252) | Cod sursa (job #51842) | Cod sursa (job #374559)
Cod sursa(job #374559)
#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 ("secventa.in","r",stdin);
freopen ("secventa.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("%d",min);
}
return 0;
}