128612025-01-02 17:04:38BucsMateZenehallgatáscpp17Időlimit túllépés 15/50261ms1368 KiB
#include <iostream>

using namespace std;

int dalKezdet[100001] = {};

int binKereses(int idopont, int N)
{
    int bal = 1, jobb = N;
    int kozep;
    while(bal < jobb){
        kozep = (bal + jobb + 1)/2;
        if(dalKezdet[kozep] <= idopont){
            bal = kozep;
        }
        else{
            jobb = kozep-1;
        }
    }
    return bal;
}

int main()
{
    int N, K;
    cin >> N >> K;
    dalKezdet[1] = 1;
    int temp;
    for(int i = 2; i <= N; i++){
        cin >> temp;
        dalKezdet[i] = dalKezdet[i-1] + temp;
    }
    cin >> temp;
    int hossz = dalKezdet[N] + temp - 1;

    int idopont, megoldas;
    for(int i = 0; i < K; i++){
        cin >> idopont;
        idopont = (idopont - 1)%hossz + 1;
        megoldas = binKereses(idopont, N);
        cout << megoldas << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/50
1Elfogadva0/01ms320 KiB
2Időlimit túllépés0/0254ms1328 KiB
3Elfogadva2/23ms320 KiB
4Elfogadva2/23ms320 KiB
5Elfogadva2/23ms320 KiB
6Elfogadva3/33ms320 KiB
7Elfogadva3/33ms320 KiB
8Elfogadva3/33ms508 KiB
9Időlimit túllépés0/2261ms1300 KiB
10Időlimit túllépés0/2256ms1320 KiB
11Időlimit túllépés0/2259ms1332 KiB
12Időlimit túllépés0/2254ms1348 KiB
13Időlimit túllépés0/2259ms1260 KiB
14Időlimit túllépés0/2252ms1368 KiB
15Időlimit túllépés0/2256ms1336 KiB
16Időlimit túllépés0/2256ms1336 KiB
17Időlimit túllépés0/2250ms1328 KiB
18Időlimit túllépés0/2248ms1184 KiB
19Időlimit túllépés0/2252ms1188 KiB
20Időlimit túllépés0/2244ms1340 KiB
21Időlimit túllépés0/2252ms1332 KiB
22Időlimit túllépés0/3252ms1220 KiB
23Időlimit túllépés0/3245ms1340 KiB
24Időlimit túllépés0/3222ms1336 KiB