69962023-12-25 09:35:03MagyarKendeSZLGZenehallgatáscpp17Elfogadva 50/5056ms4196 KiB
#include <iostream>
#include <vector>
using namespace std;
#define speed cin.tie(0); ios::sync_with_stdio(0)

int N;
vector<int> v;

int search(int t) {
    int b = 1, e = N, h, cmp;
    while (b <= e) {
        h = (e - b) / 2 + b;
        cmp = v[h - 1] < t && t <= v[h] ? 0 : v[h] < t ? 1 : -1;
        if (cmp == 1) {
            b = min(h + 1, N);
        }
        else if (cmp == -1) {
            e = max(h - 1, 0);
        }
        else {
            return h;
        }
    }
    return 0;
}

int main() {
    speed;

    int K, sum;
    cin >> N >> K;
    v.resize(N + 1);
    for (int i = 1; i <= N; i++) {
        cin >> v[i];
        v[i] += v[i - 1];
    }

    while (K--) {
        int t;
        cin >> t;
        t %= v[N];
        cout << search(t) << ' ';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1892 KiB
2Elfogadva0/056ms2952 KiB
3Elfogadva2/23ms2340 KiB
4Elfogadva2/23ms2520 KiB
5Elfogadva2/23ms2496 KiB
6Elfogadva3/33ms2620 KiB
7Elfogadva3/33ms2704 KiB
8Elfogadva3/33ms2828 KiB
9Elfogadva2/254ms3860 KiB
10Elfogadva2/256ms3860 KiB
11Elfogadva2/256ms4064 KiB
12Elfogadva2/256ms4076 KiB
13Elfogadva2/254ms4072 KiB
14Elfogadva2/254ms4072 KiB
15Elfogadva2/254ms4080 KiB
16Elfogadva2/254ms4068 KiB
17Elfogadva2/254ms4076 KiB
18Elfogadva2/254ms4064 KiB
19Elfogadva2/254ms4088 KiB
20Elfogadva2/252ms4068 KiB
21Elfogadva2/252ms4064 KiB
22Elfogadva3/352ms4196 KiB
23Elfogadva3/352ms4072 KiB
24Elfogadva3/352ms4068 KiB