134252025-01-07 22:29:15csdavidZenehallgatáscpp17Időlimit túllépés 15/50273ms2512 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(true){
        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;
        }
    }
}

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/0259ms2356 KiB
3Elfogadva2/23ms316 KiB
4Elfogadva2/24ms316 KiB
5Elfogadva2/23ms316 KiB
6Elfogadva3/33ms316 KiB
7Elfogadva3/33ms316 KiB
8Elfogadva3/33ms500 KiB
9Időlimit túllépés0/2273ms2468 KiB
10Időlimit túllépés0/2273ms2472 KiB
11Időlimit túllépés0/2261ms2472 KiB
12Időlimit túllépés0/2254ms2476 KiB
13Időlimit túllépés0/2257ms2348 KiB
14Időlimit túllépés0/2263ms2464 KiB
15Időlimit túllépés0/2270ms2468 KiB
16Időlimit túllépés0/2256ms2476 KiB
17Időlimit túllépés0/2263ms2512 KiB
18Időlimit túllépés0/2259ms2472 KiB
19Időlimit túllépés0/2261ms2472 KiB
20Időlimit túllépés0/2254ms2468 KiB
21Időlimit túllépés0/2256ms2480 KiB
22Időlimit túllépés0/3261ms2476 KiB
23Időlimit túllépés0/3254ms2500 KiB
24Időlimit túllépés0/3225ms2356 KiB