| 24104 | 2026-02-04 12:15:03 | szabel26 | Megrendelések | cpp17 | Accepted 50/50 | 71ms | 1244 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;
}
}
}| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 27ms | 904 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 1ms | 508 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Accepted | 1ms | 316 KiB | ||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| subtask3 | 5/5 | ||||||
| 8 | Accepted | 1ms | 352 KiB | ||||
| 9 | Accepted | 1ms | 588 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Accepted | 2ms | 316 KiB | ||||
| 12 | Accepted | 2ms | 316 KiB | ||||
| subtask4 | 5/5 | ||||||
| 13 | Accepted | 1ms | 316 KiB | ||||
| 14 | Accepted | 14ms | 476 KiB | ||||
| 15 | Accepted | 7ms | 516 KiB | ||||
| 16 | Accepted | 10ms | 524 KiB | ||||
| 17 | Accepted | 50ms | 820 KiB | ||||
| subtask5 | 10/10 | ||||||
| 18 | Accepted | 1ms | 316 KiB | ||||
| 19 | Accepted | 2ms | 316 KiB | ||||
| 20 | Accepted | 3ms | 508 KiB | ||||
| 21 | Accepted | 48ms | 1004 KiB | ||||
| 22 | Accepted | 32ms | 820 KiB | ||||
| 23 | Accepted | 1ms | 316 KiB | ||||
| 24 | Accepted | 3ms | 508 KiB | ||||
| 25 | Accepted | 4ms | 532 KiB | ||||
| 26 | Accepted | 4ms | 316 KiB | ||||
| 27 | Accepted | 4ms | 564 KiB | ||||
| subtask6 | 25/25 | ||||||
| 28 | Accepted | 2ms | 316 KiB | ||||
| 29 | Accepted | 1ms | 316 KiB | ||||
| 30 | Accepted | 3ms | 316 KiB | ||||
| 31 | Accepted | 59ms | 1052 KiB | ||||
| 32 | Accepted | 68ms | 1116 KiB | ||||
| 33 | Accepted | 59ms | 1036 KiB | ||||
| 34 | Accepted | 68ms | 1132 KiB | ||||
| 35 | Accepted | 70ms | 1132 KiB | ||||
| 36 | Accepted | 68ms | 1176 KiB | ||||
| 37 | Accepted | 71ms | 1120 KiB | ||||
| 38 | Accepted | 20ms | 768 KiB | ||||
| 39 | Accepted | 19ms | 564 KiB | ||||
| 40 | Accepted | 28ms | 608 KiB | ||||
| 41 | Accepted | 50ms | 1076 KiB | ||||
| 42 | Accepted | 43ms | 824 KiB | ||||
| 43 | Accepted | 27ms | 844 KiB | ||||
| 44 | Accepted | 39ms | 996 KiB | ||||
| 45 | Accepted | 35ms | 860 KiB | ||||
| 46 | Accepted | 46ms | 932 KiB | ||||
| 47 | Accepted | 54ms | 1052 KiB | ||||
| 48 | Accepted | 67ms | 1244 KiB | ||||
| 49 | Accepted | 70ms | 1076 KiB | ||||
| 50 | Accepted | 70ms | 1128 KiB | ||||
| 51 | Accepted | 71ms | 1076 KiB | ||||
| 52 | Accepted | 68ms | 1140 KiB | ||||