5935 2023. 10. 05 23:01:26 Ancsa Zenehallgatás cpp11 Elfogadva 50/50 108ms 7184 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 1808 KiB
2 Elfogadva 0/0 108ms 5100 KiB
3 Elfogadva 2/2 3ms 2228 KiB
4 Elfogadva 2/2 3ms 2464 KiB
5 Elfogadva 2/2 4ms 2660 KiB
6 Elfogadva 3/3 4ms 2864 KiB
7 Elfogadva 3/3 3ms 3096 KiB
8 Elfogadva 3/3 3ms 3308 KiB
9 Elfogadva 2/2 108ms 6296 KiB
10 Elfogadva 2/2 108ms 6532 KiB
11 Elfogadva 2/2 108ms 6488 KiB
12 Elfogadva 2/2 108ms 6740 KiB
13 Elfogadva 2/2 104ms 7072 KiB
14 Elfogadva 2/2 104ms 6908 KiB
15 Elfogadva 2/2 104ms 6912 KiB
16 Elfogadva 2/2 104ms 6908 KiB
17 Elfogadva 2/2 104ms 6908 KiB
18 Elfogadva 2/2 101ms 6980 KiB
19 Elfogadva 2/2 101ms 6908 KiB
20 Elfogadva 2/2 98ms 7168 KiB
21 Elfogadva 2/2 98ms 7124 KiB
22 Elfogadva 3/3 100ms 7124 KiB
23 Elfogadva 3/3 98ms 7124 KiB
24 Elfogadva 3/3 98ms 7184 KiB