제출 #1150828

#제출 시각아이디문제언어결과실행 시간메모리
1150828jim_xJob Scheduling (CEOI12_jobs)Pypy 3
0 / 100
898 ms131072 KiB
def is_feasible(jobs,machine_count): schedule=[[] for _ in range(N)] req_num=0 for day in range(1,N+1): for _ in range(machine_count): if jobs[req_num][0]>day: break if jobs[req_num][0]+D>=day: schedule[day-1].append(jobs[req_num][1]) req_num+=1 else: return 0,schedule if req_num==M: return 1,schedule return 0,schedule def main(): global N,D,M import sys input=sys.stdin.readline N,D,M=map(int,input().split()) jobs=list(map(int,input().split())) for i in range(M): jobs[i]=(jobs[i],i+1) jobs.sort() result=[] l,r=1,M while l<r: machine_num=(l+r)//2 cur_result=is_feasible(jobs,machine_num) if cur_result[0]: r=machine_num result=cur_result[1] else: l=machine_num+1 print(l) for i in range(N): for idx in result[i]: print(idx,end=" ") print(0) main()

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

Compiling 'jobs.py'...

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

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