128592025-01-02 17:02:47BucsMateZenehallgatáscpp17Elfogadva 50/50103ms1784 KiB
#include <iostream>
#include <vector>
//#include <fstream>

using namespace std;
/*
ifstream input("input.in");
ofstream output("output.out");
*/
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;
    vector<int> megoldas(K);
    for(int i = 0; i < K; i++){
        cin >> idopont;
        idopont = (idopont - 1)%hossz + 1;
        megoldas[i] = binKereses(idopont, N);
    }
    for(int i = 0; i < K; i++){
        cout << megoldas[i] << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms512 KiB
2Elfogadva0/0103ms1588 KiB
3Elfogadva2/22ms320 KiB
4Elfogadva2/22ms320 KiB
5Elfogadva2/22ms340 KiB
6Elfogadva3/32ms320 KiB
7Elfogadva3/32ms320 KiB
8Elfogadva3/32ms416 KiB
9Elfogadva2/2103ms1564 KiB
10Elfogadva2/2103ms1716 KiB
11Elfogadva2/2101ms1784 KiB
12Elfogadva2/2101ms1716 KiB
13Elfogadva2/298ms1720 KiB
14Elfogadva2/298ms1592 KiB
15Elfogadva2/298ms1716 KiB
16Elfogadva2/298ms1576 KiB
17Elfogadva2/297ms1760 KiB
18Elfogadva2/296ms1616 KiB
19Elfogadva2/296ms1672 KiB
20Elfogadva2/293ms1588 KiB
21Elfogadva2/293ms1592 KiB
22Elfogadva3/393ms1712 KiB
23Elfogadva3/393ms1744 KiB
24Elfogadva3/393ms1592 KiB