1762021-02-03 22:05:06Babják PéterZenehallgatáscpp11Időlimit túllépés 42/50298ms14392 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

struct time_ {
	int second;
	int index;
	int song;
};
int read() {
	int result = 0;
	char ch;
	ch = getchar();
	result = ch-'0';
	while (true) {
		ch = getchar();
		if (ch < '0' || ch > '9') break;
		result = result*10 + (ch - '0');
	}
		return result;
}
int main() {

	int N, K;
	N=read();K=read();
	vector<int> songS(N);
	int full_time = 0;
	for (auto& e : songS) {
		e=read();
		full_time += e;
	}
	vector<time_> timeS(K);
	for (int i = 0; i < K; i++) {
		timeS[i].second=read();
		timeS[i].index = i;
	}
	sort(timeS.begin(), timeS.end(), [](time_ a, time_ b) {
		return a.second < b.second;
	});
	int song = 0;
	long long length = songS[0];
	for (auto& e : timeS) {
		while (e.second > length) {
			song = (song == N - 1 ? 0 : song + 1);
			length += songS[song];
		}
		e.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
base42/50
1Elfogadva0/02ms1748 KiB
2Elfogadva0/052ms6176 KiB
3Elfogadva2/22ms3268 KiB
4Elfogadva2/22ms3288 KiB
5Elfogadva2/23ms3296 KiB
6Elfogadva3/317ms3316 KiB
7Elfogadva3/330ms3332 KiB
8Elfogadva3/3143ms3372 KiB
9Elfogadva2/243ms7628 KiB
10Elfogadva2/241ms8664 KiB
11Elfogadva2/239ms8764 KiB
12Elfogadva2/239ms9044 KiB
13Elfogadva2/241ms9456 KiB
14Elfogadva2/241ms10768 KiB
15Elfogadva2/241ms12012 KiB
16Elfogadva2/245ms13304 KiB
17Elfogadva2/248ms13812 KiB
18Elfogadva2/254ms14036 KiB
19Elfogadva2/265ms14124 KiB
20Elfogadva2/2165ms14368 KiB
21Időlimit túllépés0/2202ms14388 KiB
22Elfogadva3/3167ms14392 KiB
23Időlimit túllépés0/3298ms12160 KiB
24Időlimit túllépés0/3238ms12096 KiB