207792026-01-08 20:54:22szabelrZenehallgatáscpp17Elfogadva 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 << " ";
        }
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/052ms1588 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva3/31ms508 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva2/252ms1816 KiB
10Elfogadva2/252ms1732 KiB
11Elfogadva2/252ms1584 KiB
12Elfogadva2/252ms1588 KiB
13Elfogadva2/250ms1588 KiB
14Elfogadva2/250ms1644 KiB
15Elfogadva2/252ms1764 KiB
16Elfogadva2/252ms1588 KiB
17Elfogadva2/250ms1576 KiB
18Elfogadva2/250ms1732 KiB
19Elfogadva2/250ms1556 KiB
20Elfogadva2/250ms1748 KiB
21Elfogadva2/248ms1760 KiB
22Elfogadva3/350ms1588 KiB
23Elfogadva3/350ms1588 KiB
24Elfogadva3/348ms1584 KiB