본문 바로가기

priority queue2

백준 g2 1781 컵라면 c++ https://www.acmicpc.net/problem/1781 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net 문제 N개의 문제가 주어지고, 각 문제의 dead line과 맞혔을 때 주어지는 컵라면 개수가 주어진다. 예시) 문제 번호/ 데드라인 / 컵라면 수 1 2 3 4 5 6 7 1 1 3 3 2 2 6 6 7 2 1 4 5 1 동호가 먹을 수 있는 최대 컵라면 개수는? 풀이 문제를 보자마자 그리디인 건 알았지만 앞에서부터 정렬하는 방식으로는 도저히 방법이 떠오르지 않았다. 결국 답지를 슬쩍 봐서 뒤에서부터 시.. 2024. 3. 15.
백준 g4 1715 카드 정렬하기 c++ https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 문제 정렬된 카드 묶음 A, B가 있을 때 두 묶음을 합치는 방법은 (A + B)번 비교하는 것이다. N개의 카드 묶음이 있을 때, 최소 몇 번 비교해서 합칠 수 있는지 구하기 풀이 예를 들어 10 20 30 50이 있다고 하면 (10 + 20) > (30 + 30) -> (50 + 60) 이런 식으로 계산을 하게 된다. 앞에서 더해진 A+B의 합이 계속해서 다른 카드 묶음과 비교되.. 2024. 3. 14.