#include<iostream>
#include<cstdio>
#include<deque>
#include<cstring>
#define int long long
using namespace std;
int n;
const int N=1e6+10;
int a[N];
int qq;
int si;
int dp[N];
deque<int> q;
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
cin>>qq;
while(qq--){
cin>>si;
q.clear();
memset(dp,0x3f,sizeof(dp));
dp[1]=0;
q.push_back(1);
for(int i=2;i<=n;i++){
while(!q.empty()&&q.front()+si<i) q.pop_front();
if(a[i]<a[q.back()]){
while(!q.empty()&&a[i]<a[q.back()]){
dp[i]=min(dp[i],dp[q.back()]);
q.pop_back();
}
if(!q.empty()) dp[i]=min(dp[i],dp[q.front()]+1);
q.push_back(i);
}
else {
dp[i]=dp[q.front()]+1;
q.push_back(i);
}
}
cout<<dp[n]<<endl;
}
return 0;
}