// https://szkopul.edu.pl/problemset/problem/A3QYXKEiRLgKerciOwA_lbCD/site/?key=statement
#include <bits/stdc++.h>
using namespace std;
#define int long long
constexpr int sizik = 1000 * 1001;
#define ar std::array
#define pr std::pair
#define vec std::vector
typedef vec<vec<int>> _kra;
int d[sizik];
void solve() {
int n;
std::cin >> n;
for (int i = 1; i <= n; i++) {
std::cin >> d[i];
}
int q;
std::cin >> q;
for (int i = 0; i < q; i++) {
int k;
std::cin >> k;
int wyn = 0;
for (int i = 1; i < n;) {
int zi = i, prev = -1;
for (int j = i + 1; j <= std::min(i + k, n); j++) {
if (d[j] < d[i]) {
if (d[j] >= prev) {
zi = j;
prev = d[j];
}
}
}
if (zi != i) {
i = zi;
continue;
}
int maxi = d[i] - 1;
int idx = i;
for (int j = i + 1; j <= std::min(i + k, n); j++) {
if (d[j] >= maxi) {
maxi = d[j];
idx = j;
}
}
i = idx;
wyn++;
}
std::cout << wyn << '\n';
}
}
int32_t main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
int t = 1;
// std::cin >> t;
for (; t > 0; t--) {
solve();
}
return 0;
}