※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts