215342026-01-13 12:44:16szabelrÓvodacpp17Wrong answer 28/50178ms15764 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int k, n;
    cin >> k >> n;
    vector<long long>db(n + 1);
    for (int i = 1; i <= n; i++)
    {
        int x; cin >> x;
        db[i] = x;
    }
    vector<vector<long long>>gyerek(k, vector<long long>(3));
    for (int i = 0; i < k; i++)
    {
        int x; cin >> x;
        gyerek[i][0] = i + 1;
        gyerek[i][1] = x;
    }
    // sorsz.,szerep,siras
    for (int i = 0; i < k; i++)
    {
        int x; cin >> x;
        gyerek[i][2] = x;
    }
    sort(gyerek.begin(), gyerek.end(), [](auto a, auto b) {
        return a[2] > b[2];
        });
    int sum = 0;
    vector<long long> res(k + 1, -1);
    vector<long long> maradt;
    for (int i = 0; i < k; i++)
    {
        if (db[gyerek[i][1]] > 0)
        {
            res[gyerek[i][0]] = gyerek[i][1];
            db[gyerek[i][1]]--;
        }
        else
        {
            sum += gyerek[i][2];
        }
    }
    for (int i =1; i <= n; i++)
    {
        while (db[i] > 0)
        {
            maradt.push_back(i);
            db[i]--;
        }
    }
    cout << sum << endl;
    int x = 0;
    for (int i = 1; i <= k; i++)
    {
        if (res[i] == -1)
        {
            res[i] = maradt[x];
            x++;
        }
    }
    for (int i = 1; i <= k; i++)
        cout << res[i] << " ";
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base28/50
1Accepted0/02ms508 KiB
2Wrong answer0/08ms820 KiB
3Accepted2/21ms316 KiB
4Partially correct1/22ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Wrong answer0/21ms316 KiB
8Partially correct1/21ms316 KiB
9Accepted2/21ms324 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms536 KiB
12Partially correct1/21ms316 KiB
13Wrong answer0/22ms460 KiB
14Accepted3/32ms316 KiB
15Wrong answer0/318ms1428 KiB
16Wrong answer0/339ms2548 KiB
17Accepted3/370ms4388 KiB
18Wrong answer0/3100ms8836 KiB
19Accepted3/3125ms6384 KiB
20Accepted3/3150ms7088 KiB
21Partially correct1/3167ms7688 KiB
22Wrong answer0/4178ms15764 KiB