백준 1417 c++

magicdrill·2024년 5월 21일
0

백준 문제풀이

목록 보기
351/654

백준 1417 c++

쉬운 정렬 + 비교문제이다. 내 코드에서는 매 회차마다 정렬을 수행하는데 자료량이 커지면 무리가 올거 같다.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void input_vote(vector<int>& vote, int *dasom)
{
	int N, i, temp;

	cin >> N;
	cin >> *dasom;
	for (i = 0; i < N - 1; i++)
	{
		cin >> temp;
		vote.push_back(temp);
	}

	return;
}

void find_answer(vector <int>& vote, int dasom)
{
	int i, j;
	int count = 0;
	bool mesu = false;

	while (1)
	{
		mesu = false;
		sort(vote.begin(), vote.end(), greater<>());
		for (i = 0; i < vote.size(); i++)
		{
			if (vote[i] >= dasom)
			{
				vote[i]--;
				dasom++;
				count++;
				mesu = true;
				break;
			}
		}
		if (mesu == false)
		{
			break;
		}
	}

	cout <<	count;

	return;
}

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

	vector<int> vote;
	int dasom;

	input_vote(vote, &dasom);
	find_answer(vote, dasom);

	return 0;
}

0개의 댓글