241042026-02-04 12:15:03szabel26Megrendelésekcpp17Elfogadva 50/5071ms1244 KiB
#include <iostream>
#include <vector>
using namespace std;

vector<vector<int>> hataridok;
vector<vector<int>> sol;
int n, m, k, sol_db;

int main()
{
    cin >> n >> m >> k;
    hataridok.resize(n + 1);
    for (int i = 1; i <= m; ++i)
    {
        int a;
        cin >> a;
        hataridok[a].push_back(i);
    }

    int a = 0;
    int akt_nap = 1;
    int i = akt_nap;
    /* while (!hataridok[i].empty() && a < k)
    {
        sol.push_back({akt_nap, hataridok[i][hataridok[i].size() - 1]});
        ++a;
        hataridok[i].pop_back();

        while (hataridok[i].empty() && i < n)
            ++i;
        if (a == k && akt_nap < n)
        {
            ++akt_nap;
            a = 0;
            if (i < akt_nap)
                i = akt_nap;
            while (hataridok[i].empty() && i < n)
                ++i;
        }
        else if (a == k && akt_nap == n)
            break;
    } */

    sol.resize(n + 1);
    for (int akt_nap = 1; akt_nap <= n; ++akt_nap)
    {
        int i = akt_nap;
        while (hataridok[i].empty() && i < n)
            ++i;

        while (!hataridok[i].empty() && sol[akt_nap].size() < k)
        {
            sol[akt_nap].push_back(hataridok[i][hataridok[i].size() - 1]);
            hataridok[i].pop_back();

            while (hataridok[i].empty() && sol[akt_nap].size() < k && i < n)
            {
                ++i;
            }
            if (sol[akt_nap].size() == k)
                break;
        }
    }

    for (int i = 1; i <= n; ++i)
    {
        sol_db += sol[i].size();
    }

    cout << sol_db << endl;
    for (int i = 1; i <= n; ++i)
    {
        for (auto &e : sol[i])
        {
            cout << e << " " << i << endl;
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva27ms904 KiB
subtask25/5
3Elfogadva1ms508 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
subtask35/5
8Elfogadva1ms352 KiB
9Elfogadva1ms588 KiB
10Elfogadva1ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms316 KiB
subtask45/5
13Elfogadva1ms316 KiB
14Elfogadva14ms476 KiB
15Elfogadva7ms516 KiB
16Elfogadva10ms524 KiB
17Elfogadva50ms820 KiB
subtask510/10
18Elfogadva1ms316 KiB
19Elfogadva2ms316 KiB
20Elfogadva3ms508 KiB
21Elfogadva48ms1004 KiB
22Elfogadva32ms820 KiB
23Elfogadva1ms316 KiB
24Elfogadva3ms508 KiB
25Elfogadva4ms532 KiB
26Elfogadva4ms316 KiB
27Elfogadva4ms564 KiB
subtask625/25
28Elfogadva2ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva3ms316 KiB
31Elfogadva59ms1052 KiB
32Elfogadva68ms1116 KiB
33Elfogadva59ms1036 KiB
34Elfogadva68ms1132 KiB
35Elfogadva70ms1132 KiB
36Elfogadva68ms1176 KiB
37Elfogadva71ms1120 KiB
38Elfogadva20ms768 KiB
39Elfogadva19ms564 KiB
40Elfogadva28ms608 KiB
41Elfogadva50ms1076 KiB
42Elfogadva43ms824 KiB
43Elfogadva27ms844 KiB
44Elfogadva39ms996 KiB
45Elfogadva35ms860 KiB
46Elfogadva46ms932 KiB
47Elfogadva54ms1052 KiB
48Elfogadva67ms1244 KiB
49Elfogadva70ms1076 KiB
50Elfogadva70ms1128 KiB
51Elfogadva71ms1076 KiB
52Elfogadva68ms1140 KiB