254472026-02-20 10:07:46SzeredaiNatanaelÓvodacpp17Wrong answer 6/50500ms6196 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

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

	int n, k;
	cin >> n >> k;
	vector<int> m(k + 1);
	for (int i = 1; i <= k; ++i) {
		cin >> m[i];
	}
	vector<int> s(n + 1), t(n + 1);
	for (int i = 1; i <= n; ++i) {
		cin >> s[i];
	}
	for (int i = 1; i <= n; ++i) {
		cin >> t[i];
	}

	vector<vector<int>> w(k + 1);
	for (int i = 1; i <= n; ++i) {
		w[s[i]].push_back(i);
	}

	vector<int> a(n + 1);
	long long sum = 0;
	vector<int> u;

	for (int r = 1; r <= k; ++r) {
		auto& v = w[r];

		sort(v.begin(), v.end(), [&](int a, int b) {
			return t[a] < t[b];
			});

		if ((int)v.size() > m[r]) {
			int e = v.size() - m[r];
			for (int i = 0; i <= e; ++i) {
				u.push_back(v[i]);
			}
			for (int i = e; i <= (int)v.size(); ++i) {
				a[v[i]] = r;
			}
		}
		else{
			for (int x : v) {
				a[x] = r;
			}
		}
	}

	for (int r = 1; r <= k; ++r) {
		int c = 0;
		for (int i = 1; i <= n; ++i) {
			if (a[i] == r) {
				++c;
			}
		}

		if (c == 0) {
			int g = u.back();
			u.pop_back();
			a[g] = r;
			sum += t[g];
		}
	}

	for (int g : u) {
		for (int r = 1; r <= k; ++r) {
			int c = 0;
			for (int i = 1; i <= n; ++i) {
				if (a[i] == r) {
					++c;
				}
			}

			if (c < m[r]) {
				a[g] = r;
				sum += t[g];
				
				break;
			}
		}
	}

	cout << sum << "\n";
	for (int i = 1; i <= n; ++i) {
		cout << a[i] << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
base6/50
1Wrong answer0/01ms316 KiB
2Wrong answer0/08ms564 KiB
3Wrong answer0/21ms508 KiB
4Wrong answer0/21ms508 KiB
5Wrong answer0/21ms316 KiB
6Accepted2/21ms316 KiB
7Runtime error0/21ms564 KiB
8Wrong answer0/21ms316 KiB
9Accepted2/21ms316 KiB
10Wrong answer0/21ms316 KiB
11Accepted2/21ms380 KiB
12Wrong answer0/21ms500 KiB
13Runtime error0/22ms468 KiB
14Wrong answer0/33ms316 KiB
15Time limit exceeded0/3500ms820 KiB
16Time limit exceeded0/3499ms1920 KiB
17Wrong answer0/3116ms1588 KiB
18Runtime error0/324ms3380 KiB
19Runtime error0/320ms2100 KiB
20Time limit exceeded0/3483ms2356 KiB
21Runtime error0/328ms2936 KiB
22Runtime error0/441ms6196 KiB