Submission #1221351

#TimeUsernameProblemLanguageResultExecution timeMemory
1221351plasmatic8Job Scheduling (CEOI12_jobs)Pypy 3
0 / 100
897 ms131072 KiB
n, d, m = map(int, input().split()) a = list(map(int, input().split())) b = [] for i in range(m): b.append([a[i],i+1]) b.sort() def solve(machines): did = [] day = 0 ans = [] for i in range(0, m, machines): day += 1 jobs = b[i:min(m, i+machines)] for job in jobs: did.append(max(job[0], day)-job[0]) for i in did: if i > d: return False return True def first_true(lo, hi, f): hi += 1 while lo < hi: mid = (lo + hi) // 2 if f(mid): hi = mid else: lo = mid + 1 return lo machines = first_true(1, n, solve) print(machines) did = [] day = 0 ans = [] wrote = 0 for i in range(0, m, machines): day += 1 ans = [] jobs = b[i:min(m, i+machines)] for job in jobs: did.append(max(job[0], day)-job[0]) ans.append(job[1]) print(*ans, end=" 0\n") wrote+=1 for i in range(n-wrote): print(0)

Compilation message (stdout)

Compiling 'jobs.py'...

=======
  adding: __main__.pyc (deflated 35%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...