1692021-02-03 21:14:36kovacs.peter.18fZenehallgatáscpp11Time limit exceeded 44/50289ms10640 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);
	int full_time = 0;
	for (auto& e : songS) {
		cin >> e;
		full_time += e;
	}
	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;
	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 << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
base44/50
1Accepted0/02ms1752 KiB
2Accepted0/048ms6228 KiB
3Accepted2/22ms3256 KiB
4Accepted2/22ms3268 KiB
5Accepted2/23ms3284 KiB
6Accepted3/314ms3308 KiB
7Accepted3/332ms3316 KiB
8Accepted3/3127ms3392 KiB
9Accepted2/246ms7696 KiB
10Accepted2/250ms8540 KiB
11Accepted2/248ms8700 KiB
12Accepted2/254ms8876 KiB
13Accepted2/250ms9088 KiB
14Accepted2/250ms9324 KiB
15Accepted2/256ms9552 KiB
16Accepted2/254ms9672 KiB
17Accepted2/256ms9820 KiB
18Accepted2/261ms10012 KiB
19Accepted2/261ms10184 KiB
20Accepted2/2175ms10348 KiB
21Accepted2/2165ms10492 KiB
22Accepted3/3178ms10640 KiB
23Time limit exceeded0/3289ms8440 KiB
24Time limit exceeded0/3259ms8468 KiB