#include<bits/stdc++.h>
using namespace std;
long long n, q, k;
long long a[1000010];
long long dp[1000010];
void init() {
for (long long i = 0; i <= n; i++)dp[i] = 0;
}
void print() {
for (long long i = 1; i <= n; i++)cout << dp[i] << " ";
cout << endl;
return ;
}
int main() {
cin >> n;
for (long long i = 1; i <= n; i++)cin >> a[i];
cin >> q;
while (q--) {
deque<pair<long long, long long>>s;
init();
cin >> k;
for (long long i = 1; i <= n; i++) {
if (s.empty()) {
dp[i] = 0;
s.push_back(make_pair(0, i));
continue;
}
while (!s.empty() && i - s.front().second > k)s.pop_front();
long long j = a[s.front().second] - a[i];
if (j > 0)j = 0;
else j = 1;
dp[i] = s.front().first + j;
while (!s.empty() && s.back().first > dp[i])s.pop_back();
if (!s.empty() && s.back().first == dp[i] && a[s.back().second] <= a[i])s.pop_back();
s.push_back(make_pair(dp[i], i));
}
cout << dp[n] << endl;
}
}