2072021-02-07 17:06:36kovacs.peter.18fZenehallgatáscpp11Időlimit túllépés 44/50252ms27124 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

struct time_ {
	int second;
	int index;
	int song;
};

int main() {
	cin.sync_with_stdio(false);
	cin.tie(nullptr);

	int N, K;
	cin >> N >> K;
	vector<int> songS(N);
	cin >> songS[0];
	for (int i = 1; i < N; i++) {
		cin >> songS[i];
		songS[i] += songS[i - 1];
	}
	vector<time_> timeS(K);
	for (int i = 0; i < K; i++) {
		cin >> timeS[i].second;
		timeS[i].index = i;
	}
	sort(timeS.begin(), timeS.end(), [](time_ a, time_ b) {
		return a.second < b.second;
	});
	int song = 0;
	while (timeS[0].second % songS[N - 1] > songS[song]) {
		++song;
	}
	timeS[0].song = song + 1;
	for (int i = 1; i < timeS.size(); i++) {
		if (timeS[i].second % songS[N - 1] < timeS[i - 1].second % songS[N - 1]) {
			song = 0;
		}
		while (timeS[i].second % songS[N - 1] > songS[song]) {
			++song;
		}
		timeS[i].song = song + 1;
	}
	sort(timeS.begin(), timeS.end(), [](time_ a, time_ b) {
		return a.index < b.index;
	});
	for (auto e : timeS) {
		cout << e.song << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base44/50
1Elfogadva0/02ms1760 KiB
2Elfogadva0/048ms6340 KiB
3Elfogadva2/22ms3312 KiB
4Elfogadva2/22ms3336 KiB
5Elfogadva2/22ms3348 KiB
6Elfogadva3/32ms3364 KiB
7Elfogadva3/31ms3380 KiB
8Elfogadva3/32ms3396 KiB
9Elfogadva2/254ms7856 KiB
10Elfogadva2/250ms9260 KiB
11Elfogadva2/250ms10696 KiB
12Elfogadva2/250ms12084 KiB
13Elfogadva2/250ms13436 KiB
14Elfogadva2/248ms14784 KiB
15Elfogadva2/250ms16140 KiB
16Elfogadva2/250ms17448 KiB
17Elfogadva2/270ms18748 KiB
18Elfogadva2/257ms20012 KiB
19Elfogadva2/259ms21268 KiB
20Elfogadva2/2148ms22436 KiB
21Elfogadva2/2129ms23620 KiB
22Elfogadva3/3123ms24800 KiB
23Időlimit túllépés0/3218ms25972 KiB
24Időlimit túllépés0/3252ms27124 KiB