#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using Pll = pair; using Pii = pair; constexpr ll MOD = 1000000007; constexpr long double EPS = 1e-10; constexpr int dyx[4][2] = { { 0, 1}, {-1, 0}, {0,-1}, {1, 0} }; constexpr ll INF = 1LL << 60; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; string s; cin >> s; vector hp(n); for(int i=0;i> hp[i]; } vector> hp_sum(n, vector(n+1, INF)); // hp_sum[i][j] := i番目の E or W から (i 番目を含む) j 体倒すのに必要な威力 vector min_k(n+2, INF); // min_k[i] := i 体倒すのに必要な最小威力 min_k[0] = 0; int n_enemy = 0; for(int i=0;i> q; while(q--) { cin >> k; auto itr = upper_bound(min_k.begin(), min_k.end(), k); cout << max(min(int(distance(min_k.begin(), itr))-1, n_enemy), 0) << endl; } }