※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 8673번 문제인 Krany이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/8673
8673번: Krany
Pierwszy wiersz standardowego wejścia zawiera dwie liczby całkowite n, w (1 ≤ i ≤ 106, 1 ≤ w ≤ 100), oznaczające odpowiednio liczbę kranów oraz wartość temperatury, którą chcemy uzyskać. W kolejnym wierszu znajduje się n liczb całkowi
www.acmicpc.net
물의 온도가 목표하는 정도가 될 때까지 현재 물이 나오고 있는 수도꼭지 중 가장 차가운 물이 나오는 수도꼭지부터 하나씩 차례대로 잠그는 것으로 문제를 해결하자.
물이 얼어있는 수도꼭지에서는 물이 나오고있지 않음에 유의하자. 또한 모든 나오는 물이 목표하는 온도보다 낮다면 조건을 만족시키게끔 수도꼭지를 틀어둘 수 없음에 유의하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <queue>
using namespace std;
int N, W, total, totalcnt;
priority_queue<int, vector<int>, greater<>> pq;
int ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> W;
for (int i = 0; i < N; i++) {
int x; cin >> x;
if (x > 0) {
total += x, totalcnt++;
pq.push(x);
}
}
while (totalcnt && total < W * totalcnt) {
total -= pq.top();
pq.pop();
totalcnt--, ans++;
}
if (totalcnt) cout << ans;
else cout << "NIE";
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 8385 // C++] ROT13 (1) | 2024.02.08 |
---|---|
[BOJ 8598 // C++] Zając (1) | 2024.02.07 |
[BOJ 6005 // C++] Cow Pinball (1) | 2024.02.05 |
[BOJ 11909 // C++] 배열 탈출 (0) | 2024.02.04 |
[BOJ 21318 // C++] 피아노 체조 (0) | 2024.02.03 |