from collections import defaultdict
N, D, M = map(int, input().split())
v = list(map(int, input().split()))
dm = [[] for _ in range(N+1)]
for index, item in enumerate(v):
dm[item].append(index+1)
def check(mid):
day = 0
i = 1
for i in range(1, len(dm)):
day += (len(dm[i]) + mid - 1) // mid
if day - i > D:
return False
i += 1
return True
l = 0; r = 10**6
while l < r:
mid = (l + r) // 2
if check(mid):
r = mid
else:
l = mid + 1
print(l)
allm = [x for sublist in dm for x in sublist]
days = N
for i in range(0, M, l):
days -= 1
if i + l >= M:
print(*allm[i:], 0)
else:
print(*allm[i:i+l], 0)
for i in range(days):
print(0)
Compilation message (stdout)
Compiling 'jobs.py'...
=======
adding: __main__.pyc (deflated 36%)
=======
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |