#include #define rep(i,n) for(int i=0;i P; const ll INF = 1e18; const int MOD = 1000000007; int main() { int n; cin >> n; string s; cin >> s; vector a(n); rep(i,n) cin >> a[i]; vector monster(n+1); vector HP(n+1); vector energy(n+1,INF); for(int i=1;i<=n;i++){ if(s[i-1] == 'E') monster[i] = monster[i-1] + 1; else monster[i] = monster[i-1]; } for(int i=1;i<=n;i++){ HP[i] = HP[i-1] + a[i-1]; } for(int i=0;i<=n;i++){ for(int j = i;j<=n;j++){ ll hp = HP[j] - HP[i]; ll mon = monster[j] - monster[i]; energy[mon] = min(energy[mon],hp); } } int q; cin >> q; rep(i,q){ int k,res = 0; cin >> k; rep(i,n+1){ if(energy[i] <= k) res = i; } cout << res << endl; } return 0; }