https://www.acmicpc.net/problem/20667
문제요약
- cpu, memory를 일정 수준 이상 확보하면서 우선순위 합은 최소화 시키기
- 작업 100개, 목표 cpu 1000, 목표 메모리 100000, 작업당 우선순위 5
접근법
- [cpu][memory]를 만족하기위한 최소 우선순위로 배열을 이용하면 좋을 것 같으나 1000 * 100000이되면서 메모리 초과 + 시간초과 발생할 듯
- 우선순위 값이 매우 낮음. 100개여도 최대 500
- [cpu][우선순위]로 생각을 바꾸어보면
- cpu와 우선순위를 사용해서 얻을 수 최대 메모리
- 최선을 다했을때 최대메모리가 목표 메모리 이상이고, cpu도 목표 cpu 이상이면 일단 조건은 만족
- 조건을 만족하는 것중에서 우선순위 값이 가장 작은 것 찾기
- cpu나 메모리는 목표값 초과인 경우 의미가 없으므로, 초과하는 경우 목표값으로 변경해서 사용