rt
#include<bits/stdc++.h>
using namespace std;
int h[1000005],f[1000005];
int main(){
int n,k,m;
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&h[i]);
cin>>m;
deque<int> q;
for(int i=0;i<m;i++){
cin>>k;
f[1]=0;
q.clear();
q.push_front(1);
for(int j=2;j<=n;j++){
while(!q.empty()&&(q.front()<j-k))
q.pop_front();
if(h[q.front()]>h[j])
f[j]=f[q.front()];
else
f[j]=f[q.front()]+1;
while(!q.empty()&&(f[q.back()]>f[j]||(f[q.back()]==f[j]&&h[q.back()]<=f[j])))
q.pop_back();
q.push_back(j);
}
cout<<f[n]<<endl;
}
return 0;
}