알고리즘

백준 1417번 국회의원 선거 C++

영춘권의달인 2022. 4. 28. 13:59

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

 

우선순위 큐를 이용하였다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>

using namespace std;
using ll = long long;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	priority_queue<int> pq;
	int n;
	int dasom;
	int cnt = 0;
	cin >> n;
	cin >> dasom;
	for (int i = 1; i < n; i++) {
		int vote;
		cin >> vote;
		pq.push(vote);
	}
	if (!pq.empty()) {
		while (dasom <= pq.top()) {
			int maxVote = pq.top();
			pq.pop();
			dasom++;
			cnt++;
			pq.push(maxVote - 1);
		}
	}
	cout << cnt;
};