6591 2023. 12. 12 17:11:58 Huni136 Zenehallgatás cpp17 Elfogadva 50/50 107ms 6448 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 1960 KiB
2 Elfogadva 0/0 105ms 4956 KiB
3 Elfogadva 2/2 4ms 2184 KiB
4 Elfogadva 2/2 4ms 2340 KiB
5 Elfogadva 2/2 4ms 2552 KiB
6 Elfogadva 3/3 3ms 2632 KiB
7 Elfogadva 3/3 3ms 2636 KiB
8 Elfogadva 3/3 3ms 2864 KiB
9 Elfogadva 2/2 107ms 5844 KiB
10 Elfogadva 2/2 105ms 5848 KiB
11 Elfogadva 2/2 104ms 5848 KiB
12 Elfogadva 2/2 104ms 5752 KiB
13 Elfogadva 2/2 101ms 5828 KiB
14 Elfogadva 2/2 101ms 5824 KiB
15 Elfogadva 2/2 104ms 6008 KiB
16 Elfogadva 2/2 101ms 5968 KiB
17 Elfogadva 2/2 103ms 6220 KiB
18 Elfogadva 2/2 98ms 6292 KiB
19 Elfogadva 2/2 98ms 6300 KiB
20 Elfogadva 2/2 97ms 6448 KiB
21 Elfogadva 2/2 96ms 6404 KiB
22 Elfogadva 3/3 97ms 6404 KiB
23 Elfogadva 3/3 96ms 6404 KiB
24 Elfogadva 3/3 96ms 6400 KiB