6590 2023. 12. 12 17:06:43 Huni136 Zenehallgatás cpp17 Elfogadva 50/50 107ms 7032 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 Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 105ms 5100 KiB
3 Elfogadva 2/2 4ms 2232 KiB
4 Elfogadva 2/2 4ms 2456 KiB
5 Elfogadva 2/2 4ms 2844 KiB
6 Elfogadva 3/3 4ms 2832 KiB
7 Elfogadva 3/3 4ms 2888 KiB
8 Elfogadva 3/3 4ms 3016 KiB
9 Elfogadva 2/2 107ms 6256 KiB
10 Elfogadva 2/2 105ms 6576 KiB
11 Elfogadva 2/2 104ms 6532 KiB
12 Elfogadva 2/2 104ms 6676 KiB
13 Elfogadva 2/2 103ms 6636 KiB
14 Elfogadva 2/2 103ms 6632 KiB
15 Elfogadva 2/2 103ms 6636 KiB
16 Elfogadva 2/2 101ms 6632 KiB
17 Elfogadva 2/2 101ms 6632 KiB
18 Elfogadva 2/2 101ms 6652 KiB
19 Elfogadva 2/2 98ms 6724 KiB
20 Elfogadva 2/2 97ms 6704 KiB
21 Elfogadva 2/2 97ms 6704 KiB
22 Elfogadva 3/3 97ms 6964 KiB
23 Elfogadva 3/3 96ms 7032 KiB
24 Elfogadva 3/3 98ms 6920 KiB