207792026-01-08 20:54:22szabelrZenehallgatáscpp17Accepted 50/5052ms1816 KiB
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;
ll binkeres(ll x, vector<ll>&zenek) {
    ll l = 1, r = zenek.size()-1;
    while (l < r) {
        ll mid = l + (r - l) / 2;
        if (x<=zenek[mid] and x>zenek[mid - 1])
            return mid;
        else if ( x <= zenek[mid - 1])
            r = mid - 1;
        else 
            l = mid + 1;
    }
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll n, k,x;
    cin >> n >> k;
    vector<ll>zenek(n+1);
    zenek[0] = 0;
    for (ll i = 1; i <= n; i++)
    {
        cin >> x;
        zenek[i] = zenek[i - 1] + x;
    }
    for (ll i = 1; i <= k; i++) {
        cin >> x;
        if (x > zenek[n] ) {
            x = x % zenek[n];
        }
        if (x == 0) {
            cout << 1;
        }
        else
        {
            auto it = lower_bound(zenek.begin(), zenek.end(), x);
            ll dist = distance(zenek.begin(), it);
            cout << dist << " ";
        }
    }

}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/052ms1588 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted3/31ms508 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms316 KiB
9Accepted2/252ms1816 KiB
10Accepted2/252ms1732 KiB
11Accepted2/252ms1584 KiB
12Accepted2/252ms1588 KiB
13Accepted2/250ms1588 KiB
14Accepted2/250ms1644 KiB
15Accepted2/252ms1764 KiB
16Accepted2/252ms1588 KiB
17Accepted2/250ms1576 KiB
18Accepted2/250ms1732 KiB
19Accepted2/250ms1556 KiB
20Accepted2/250ms1748 KiB
21Accepted2/248ms1760 KiB
22Accepted3/350ms1588 KiB
23Accepted3/350ms1588 KiB
24Accepted3/348ms1584 KiB