65902023-12-12 17:06:43Huni136Zenehallgatáscpp17Elfogadva 50/50107ms7032 KiB
#include <iostream>
#include <vector>
#include <bits/stdc++.h>

using namespace std;

/*
Be:
3 2
2 4 3
6 10

KI:
2 1
*/



/*
Be:
5 3
3 2 7 8 1
10 50 20
Ki:
3 3 4
*/

/*
Be:
8 6
10 2 7 15 20 30 2 4
100 40 200 170 80 60

KI: 1 5 4 6 6 6
*/


int main()
{
    int n,k;
    cin>>n>>k;

    vector<int> a(n), resz(n);
    for(int i=0;i<n;i++)
    {
        cin>>a.at(i);
        if (i==0)
            resz.at(i)=a.at(i);
        else
            resz.at(i)=resz.at(i-1)+a.at(i);
    }
    /*
    cout<<endl;
    for(int x:resz)
        cout<<x<<" ";
    */
    int teljes=resz.at(n-1);

    vector<int> kerdes(k), keresni(k);
    //cout<<endl;
    for(int i=0;i<k;i++)
    {
        cin>>kerdes.at(i);
        keresni.at(i)=kerdes.at(i)%teljes;
    }
    /*cout<<endl;
    for(int x:keresni)
        cout<<x<<" ";

    cout<<endl;
    */
    for(int x:keresni)
    {
        int bal=0, jobb=n-1;

        bool talalt=false;

        while (bal<=jobb && !talalt)
        {
            //cout<<"bal "<<bal<<" jobb "<<jobb<<" *** ";


            int kozepe=(bal+jobb)/2;
            if(bal+1==jobb)
              if(x<=resz.at(bal))
              {
                 cout<<bal+1<<" ";
                 talalt=true;
              }
              else
              {
                 cout<<jobb+1<<" ";
                 talalt=true;
              }
            else if(x<resz.at(kozepe))
                jobb=kozepe;
            else
                bal=kozepe;

        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1812 KiB
2Elfogadva0/0105ms5100 KiB
3Elfogadva2/24ms2232 KiB
4Elfogadva2/24ms2456 KiB
5Elfogadva2/24ms2844 KiB
6Elfogadva3/34ms2832 KiB
7Elfogadva3/34ms2888 KiB
8Elfogadva3/34ms3016 KiB
9Elfogadva2/2107ms6256 KiB
10Elfogadva2/2105ms6576 KiB
11Elfogadva2/2104ms6532 KiB
12Elfogadva2/2104ms6676 KiB
13Elfogadva2/2103ms6636 KiB
14Elfogadva2/2103ms6632 KiB
15Elfogadva2/2103ms6636 KiB
16Elfogadva2/2101ms6632 KiB
17Elfogadva2/2101ms6632 KiB
18Elfogadva2/2101ms6652 KiB
19Elfogadva2/298ms6724 KiB
20Elfogadva2/297ms6704 KiB
21Elfogadva2/297ms6704 KiB
22Elfogadva3/397ms6964 KiB
23Elfogadva3/396ms7032 KiB
24Elfogadva3/398ms6920 KiB