#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<vector>
#include<string>
#include<queue>
#include<cmath>
#include<map>
using namespace std;
int n,q,len,h1,h2,t1,t2,ans,now,to;
int d[1000005];
int s1[1000005],i1[1000005];
int s2[1000005],i2[1000005];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",d+i);
}
cin>>q;
while(q--){
cin>>len;
h1=h2=1,t1=t2=0,ans=0,now=1,to=1;
while(now<n){
while(h1<=t1&&i1[h1]<=now) h1++;
while(h2<=t2&&i2[h2]<=now) h2++;
while(to<now+len&&to<n){
to++;
while(h1<=t1&&d[to]>=s1[t1]) t1--;
s1[++t1]=d[to];
i1[t1]=to;
if(d[to]<d[now]){
while(h2<=t2&&d[to]>=s2[t2]) t2--;
s2[++t2]=d[to];
i2[t2]=to;
}
}
if(h2<=t2){
now=i2[h2];
}else{
if(to==n) now=n;
else now=i1[h1];
ans++;
}
}
cout<<ans<<endl;
}
return 0;
}