C. Valhalla Siege

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);

    // input
    ll N,Q;
    cin>>N>>Q;

    VI A(N);
    rep(i, N) cin >> A[i];

    rep(i,N-1){
      A[i+1] += A[i];
    }    

    ll attack=0;
    while(Q--){
      ll k;cin>>k;
      attack+=k;
      auto it = upper_bound(ALL(A), attack);
      if(it==A.end()){
        // revive
        attack=0;
        p(N);
      }
      else{
        ll i = it-A.begin();
        ll live = N-i;
        p(live);
      }
    }

    return 0;
}