제출 #1221347

#제출 시각아이디문제언어결과실행 시간메모리
1221347plasmatic8Job Scheduling (CEOI12_jobs)Pypy 3
0 / 100
1102 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 ans.append([]) jobs = b[i:min(m, i+machines)] for job in jobs: did.append(max(job[0], day)-job[0]) ans[-1].append(job[1]) ans[-1].append(0) for i in did: if i > d: return False, ans return True, ans def first_true(lo, hi, f): hi += 1 while lo < hi: mid = (lo + hi) // 2 if f(mid)[0]: hi = mid else: lo = mid + 1 return lo print(first_true(1, n, solve)) x = solve(first_true(1, n, solve))[1] for i in range(n): print(*x[i] if i < len(x) else [0])

컴파일 시 표준 출력 (stdout) 메시지

Compiling 'jobs.py'...

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

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