Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Mar 7, 2025

🧷 문제 링크

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

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

  • N종류의 화학 시약 $T_1, T_2, \cdots, T_N$$M$ mg의 용액이 있다. 시약 $T_i$는 두 정수 $A_i, B_i$로 이루어져 있다.
  • 용액을 $x$ mg만큼 시약 $T_i$에 넣으면, 가스$A_i \times x + B_i$만큼 발생한다.
  • $M$ mg의 용액을 적절히 분배해 각각의 시약에 $1$ mg 이상 넣을 때, 모든 시약에서 같은 양의 가스가 나올 수 있는지 구해보자.

🔍 풀이 방법

[사용한 알고리즘]

  • 우선순위 큐

  • 가장 적은 가스가 발생하는 시약에 용액을 $1$ mg씩 투여하고, $M$ mg를 다 썼을 때 가스의 양이 모든 시약에서 같은지 확인하면 된다.
  • 처음에 모든 시약에 $1$ mg만큼 투여한 후, 가스 양을 우선순위 큐에 담아준다.
  • 우선순위 큐의 우선순위 기준은 가스 양이 적은 순, 가스 양이 동일하다면 A[i]가 작은 순으로 설정한다.

⏳ 회고

문제가 잘 안 풀리는 걸 보니 25년도 1차 슬럼프가 찾아온 것 같다

@ShinHeeEul ShinHeeEul merged commit 1a26607 into main Mar 7, 2025
1 check passed
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants