Skip to content

Conversation

@Ukj0ng
Copy link
Contributor

@Ukj0ng Ukj0ng commented Jan 14, 2026

🧷 문제 링크

https://www.acmicpc.net/problem/2180

🧭 풀이 시간

60분

👀 체감 난이도

✏️ 문제 설명

화재의 종류에 따라서, 화재 발생 후 소방차가 t초 후에 도착하면 화재를 진압하는데 걸리는 시간은 at +b와 같이 1차 함수의 형태로 나타나게 된다. 모든 화재 사건은 시각 0에서 발생하였다. 당신은 모든 화재를 진압하는데 걸리는 최소 시간이 얼마인지를 알고 싶다.

🔍 풀이 방법

$t$초일 경우, ($a_1, b_1$)과 ($a_2, b_2$)이 있다고 가정해보자.
1번 작업 후 2번 작업을 한다고 했을 때, ${(a_1 + 1)t + b_1}(a_2+1) + b_2$이고
2번 작업 후 1번 작업을 한다고 했을 때, ${(a_2 + 1)t + b_2}(a_1+1) + b_1$이다.
${a_2}{b_1} < {a_1}{b_2}$이다.

하지만, a, b가 0이면 저 부등호에 문제가 생긴다. 따라서, $a_1, a_2$가 0인 경우를 각각 예외처리 해줘야 한다.

⏳ 회고

compare 함수

리턴값 의미 동작 (Action)
음수 (-) o1이 더 작다 (우선순위 높음) o1o2보다 앞에 세운다. (그대로 둠)
0 둘이 같다 순서를 바꾸지 않는다.
양수 (+) o1이 더 크다 (우선순위 낮음) o1o2 뒤로 보낸다. (자리를 바꿈)

@ShinHeeEul ShinHeeEul merged commit 97df174 into main Jan 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants