#include<bits/stdc++.h>
using namespace std;

int main(){

    //入力
    int n, q; cin >> n >> q;
    vector<long long> a(n);
    for(int i = 0; i < n; i++) cin >> a[i];

    for(int j = 0; j < q; j++){

        //各クエリx
        long long x; cin >> x;

        //合計値
        long long res = 0;

        //区間の左端で場合分け
        int right = 0;              //毎回rightを使いまわす
        long long sum = 0;          //sumも使いまわす

        for(int left = 0; left < n; left++){


            //sumにa[right]を加えてもいいなら,rightを動かす
            while(right < n && sum + a[right] <= x){
                sum += a[right];
                right++;
            }

            //whileを抜けた時点でrightは条件を満たす最大に
            res += (right - left);


            //leftをインクリメントする準備
            if(right == left) right++;
            else sum -= a[left];
        }

        cout << res << endl;
    }

    return 0;
}
