120172024-11-25 09:19:04RRoliZenehallgatáscpp17Időlimit túllépés 0/50261ms1768 KiB
#include <bits/stdc++.h>
using namespace std;

int n, k, a[100001], p[100001];
int binker(int e, int u, int t) {
	if(u-e <= 1) {
		if(t >= p[e]) return e;
		return u;
	}
	int mid = (e+u)/2;
	if(t >= p[mid]) return binker(mid, u, t);
	return binker(e, mid-1, t);
}

int main() {
	cin >> n >> k;
	for(int i = 1; i <= n; i++) {
		cin >> a[i];
		if(i < n) p[i+1] = p[i] + a[i];
		p[i]++;
	}
	for(int i = 0; i < k; i++) {
		int q;
		cin >> q;
		q %= p[n]+a[n]-1;
		if(q == 0) cout << n << ' ';
		else cout << binker(1, n, q) << ' ';
	}
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/01ms320 KiB
2Időlimit túllépés0/0250ms1592 KiB
3Hibás válasz0/23ms320 KiB
4Hibás válasz0/23ms320 KiB
5Hibás válasz0/23ms416 KiB
6Hibás válasz0/33ms320 KiB
7Hibás válasz0/33ms320 KiB
8Hibás válasz0/33ms320 KiB
9Időlimit túllépés0/2261ms1756 KiB
10Időlimit túllépés0/2252ms1768 KiB
11Időlimit túllépés0/2257ms1740 KiB
12Időlimit túllépés0/2248ms1592 KiB
13Időlimit túllépés0/2256ms1564 KiB
14Időlimit túllépés0/2247ms1616 KiB
15Időlimit túllépés0/2254ms1716 KiB
16Időlimit túllépés0/2246ms1692 KiB
17Időlimit túllépés0/2254ms1592 KiB
18Időlimit túllépés0/2243ms1760 KiB
19Időlimit túllépés0/2243ms1592 KiB
20Időlimit túllépés0/2248ms1592 KiB
21Időlimit túllépés0/2250ms1592 KiB
22Időlimit túllépés0/3243ms1528 KiB
23Időlimit túllépés0/3244ms1764 KiB
24Időlimit túllépés0/3218ms1720 KiB