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 |