732 | 2022. 01. 01 10:28:26 | kismartong | Zenehallgatás | cpp14 | Elfogadva 50/50 | 115ms | 27500 KiB |
#include <bits/stdc++.h>
using namespace std;
void ps(vector<int> arr, int psa[], int n) {
psa[0] = arr[0];
for (int i = 1; i < n; i++)
psa[i] = psa[i-1] + arr[i];
}
int bs(int arr[], int l, int r, int x) {
while (l <= r) {
int m = l + (r-l) / 2;
if (arr[m] == x)
return m;
if (arr[m] > x && arr[m-1] < x)
return m;
if (arr[m] < x)
l = m + 1;
else
r = m - 1;
}
return -1;
}
int main() {
int n, k, t;
cin >> n >> k;
vector<int> idok;
vector<int> kerd;
for (int i = 0; i < n; i++) {
cin >> t;
idok.push_back(t);
}
for (int i = 0; i < k; i++) {
cin >> t;
kerd.push_back(t);
}
int *psa = new int[n];
ps(idok, psa, n);
for (int i = 0; i < k; i++) {
cout << bs(psa, 0, n-1, kerd[i] % psa[n-1])+1 << " ";
}
cout << '\n';
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 2ms | 1908 KiB | |||
2 | Elfogadva | 0/0 | 101ms | 6664 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 3492 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 3500 KiB | |||
5 | Elfogadva | 2/2 | 2ms | 3516 KiB | |||
6 | Elfogadva | 3/3 | 2ms | 3532 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 3548 KiB | |||
8 | Elfogadva | 3/3 | 2ms | 3564 KiB | |||
9 | Elfogadva | 2/2 | 98ms | 8184 KiB | |||
10 | Elfogadva | 2/2 | 104ms | 9632 KiB | |||
11 | Elfogadva | 2/2 | 98ms | 11060 KiB | |||
12 | Elfogadva | 2/2 | 101ms | 12492 KiB | |||
13 | Elfogadva | 2/2 | 104ms | 13848 KiB | |||
14 | Elfogadva | 2/2 | 115ms | 15120 KiB | |||
15 | Elfogadva | 2/2 | 92ms | 16456 KiB | |||
16 | Elfogadva | 2/2 | 92ms | 17860 KiB | |||
17 | Elfogadva | 2/2 | 96ms | 19124 KiB | |||
18 | Elfogadva | 2/2 | 92ms | 20432 KiB | |||
19 | Elfogadva | 2/2 | 90ms | 21684 KiB | |||
20 | Elfogadva | 2/2 | 89ms | 22816 KiB | |||
21 | Elfogadva | 2/2 | 86ms | 23992 KiB | |||
22 | Elfogadva | 3/3 | 89ms | 25168 KiB | |||
23 | Elfogadva | 3/3 | 86ms | 26340 KiB | |||
24 | Elfogadva | 3/3 | 90ms | 27500 KiB |