알고리즘/백준

백준 1417 국회의원 선거

등반 2021. 12. 26. 23:12

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

 

1417번: 국회의원 선거

첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같

www.acmicpc.net

우선순위 큐 (Priority_queue)

다솜이가 후보 중 가장 많은 표를 가져야 한다.

= 다솜이가 다솜이를 제외한 다른 후보 중 가장 많은 표를 가질 후보보다 많은 표를 가져야 한다.

=> 다솜이를 제외한 다른 후보를 우선순위 큐에 넣어 가장 많은 표를 가진 후보를 선택하도록 한다.

 

#include <iostream>
#define fio cin.tie(0)->sync_with_stdio(0)
using namespace std;

#include <queue>

int main(){
    fio;
    int N; cin >> N;
    int dasom; cin >> dasom;
    priority_queue<int> candidate;
    for(int i=0; i < N-1; i++){
        int tmp; cin >> tmp;
        candidate.push(tmp);
    }

    //
    int cnt = 0;
    while(!candidate.empty() && dasom <= candidate.top()){
        int now_top = candidate.top();
        candidate.pop();
        dasom++;
        candidate.push(now_top - 1);
        cnt++;
    }
    cout << cnt;

    return 0;
}

'알고리즘 > 백준' 카테고리의 다른 글

백준 4158 CD  (0) 2021.12.26
백준 2358 평행선  (0) 2021.12.26
백준 5957 Cleaning the Dishes  (0) 2021.12.26
백준 18241 문자열 게임  (0) 2021.12.26
백준 20001 고무오리 디버깅  (0) 2021.12.26