134262025-01-07 22:34:35csdavidZenehallgatáscpp17Időlimit túllépés 15/50266ms2552 KiB
#include <iostream>

using namespace std;

int n, q, x;

int binarysearch(pair<long long, long long> a[]){
    int low=0, mid, high=n-1;
    while(low<=high){
        mid=low+(high-low)/2;
        if(a[mid].first<=x&&a[mid].second>=x){
            return mid;
        }
        if(a[mid].second<x){
            low=mid+1;
        }
        else{
            high=mid-1;
        }
    }
    return mid;
}

int main()
{
    long long hossz=0;
    cin >> n >> q;
    pair<long long, long long> a[n];
    cin >> a[0].second;
    a[0].first=1;
    for(int i=1; i<n; i++){
        a[i].first=a[i-1].second+1;
        cin>>x;
        a[i].second=a[i-1].second+x;
    }
    hossz=a[n-1].second;
    for(int i=0; i<q; i++){
        cin >> x;
        x=x%hossz;
        cout << binarysearch(a)+1 << ' ';
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/50
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0259ms2348 KiB
3Elfogadva2/23ms316 KiB
4Elfogadva2/23ms316 KiB
5Elfogadva2/23ms316 KiB
6Elfogadva3/33ms316 KiB
7Elfogadva3/33ms328 KiB
8Elfogadva3/33ms316 KiB
9Időlimit túllépés0/2263ms2476 KiB
10Időlimit túllépés0/2266ms2480 KiB
11Időlimit túllépés0/2266ms2476 KiB
12Időlimit túllépés0/2257ms2356 KiB
13Időlimit túllépés0/2257ms2476 KiB
14Időlimit túllépés0/2261ms2472 KiB
15Időlimit túllépés0/2261ms2488 KiB
16Időlimit túllépés0/2263ms2528 KiB
17Időlimit túllépés0/2257ms2472 KiB
18Időlimit túllépés0/2261ms2356 KiB
19Időlimit túllépés0/2254ms2552 KiB
20Időlimit túllépés0/2252ms2364 KiB
21Időlimit túllépés0/2259ms2356 KiB
22Időlimit túllépés0/3252ms2356 KiB
23Időlimit túllépés0/3259ms2532 KiB
24Időlimit túllépés0/3226ms2356 KiB