248142026-02-15 20:18:17ProgramozoRokaMegrendelésekcpp17Elfogadva 50/504ms804 KiB
#include <iostream>
#include <vector>
#include<algorithm>
#include <cstdio>

using namespace std;
inline int r() {
	int x = 0;
	char c = getchar(); // Windows-on getchar(), Linux-on getchar_unlocked() még gyorsabb

	while (c < '0' || c > '9') {
		c = getchar();
	}

	while (c >= '0' && c <= '9') {
		x = (x << 3) + (x << 1) + (c - '0');
		c = getchar();
	}
	return x;
}

struct tomb
{
	int a;
	int b;
};
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int n, m, k;
	n = r(); m = r(); k = r();
	tomb x;
	vector<tomb> t;
	vector<tomb> meg;
	for (int i = 0; i < m; ++i)
	{
		x.b = r();
		x.a = i + 1;
		t.push_back(x);
	}
	sort(t.begin(), t.end(), [](const tomb& g, const tomb& h) { return g.b < h.b; });
	int szam = 0;
	for (int nap = 1; nap <= n; ++nap)
	{
		for (int i = 0; i < k and szam < m; ++i)
		{
			if (t[szam].b >= nap)
			{
				t[szam].b = nap;
				meg.push_back(t[szam]);
				++szam;
			}
			else
			{
				while (!(t[szam].b >= nap) and szam < m) ++szam;
				if (szam < m)
				{
					t[szam].b = nap;
					meg.push_back(t[szam]);
					++szam;
				}
			}
		}
	}
	printf("%d\n", (int)meg.size());
	for (const auto& m : meg) {
		printf("%d %d\n", m.a, m.b);
	}
	return 0;
}


RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva4ms728 KiB
subtask25/5
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
subtask35/5
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva1ms316 KiB
subtask45/5
13Elfogadva1ms316 KiB
14Elfogadva3ms564 KiB
15Elfogadva2ms356 KiB
16Elfogadva2ms564 KiB
17Elfogadva2ms508 KiB
subtask510/10
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms384 KiB
22Elfogadva2ms316 KiB
23Elfogadva2ms316 KiB
24Elfogadva2ms508 KiB
25Elfogadva3ms564 KiB
26Elfogadva2ms564 KiB
27Elfogadva2ms564 KiB
subtask625/25
28Elfogadva1ms324 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva3ms748 KiB
32Elfogadva4ms564 KiB
33Elfogadva3ms564 KiB
34Elfogadva4ms564 KiB
35Elfogadva4ms600 KiB
36Elfogadva4ms568 KiB
37Elfogadva4ms636 KiB
38Elfogadva2ms564 KiB
39Elfogadva1ms532 KiB
40Elfogadva2ms316 KiB
41Elfogadva4ms564 KiB
42Elfogadva2ms508 KiB
43Elfogadva2ms564 KiB
44Elfogadva4ms564 KiB
45Elfogadva1ms472 KiB
46Elfogadva2ms316 KiB
47Elfogadva2ms532 KiB
48Elfogadva4ms780 KiB
49Elfogadva4ms804 KiB
50Elfogadva4ms564 KiB
51Elfogadva4ms564 KiB
52Elfogadva4ms772 KiB