215322026-01-13 12:33:20szabelrÓvodacpp17Wrong answer 29/50180ms15772 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 = maradt.size() - 1;
    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
base29/50
1Wrong answer0/01ms500 KiB
2Wrong answer0/08ms820 KiB
3Accepted2/21ms316 KiB
4Accepted2/22ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Wrong answer0/21ms316 KiB
8Partially correct1/21ms500 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Partially correct1/21ms508 KiB
13Wrong answer0/22ms332 KiB
14Accepted3/33ms316 KiB
15Wrong answer0/319ms1416 KiB
16Wrong answer0/343ms2540 KiB
17Accepted3/372ms4384 KiB
18Wrong answer0/3107ms8836 KiB
19Accepted3/3136ms6512 KiB
20Accepted3/3157ms7096 KiB
21Partially correct1/3171ms7852 KiB
22Wrong answer0/4180ms15772 KiB