카테고리 없음

[BOJ 1417] S5 국회의원 선거 { C++ }

surimi🍥 2022. 7. 4. 15:11
반응형

1417번: 국회의원 선거

 

1417번: 국회의원 선거

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

www.acmicpc.net

C++

#include <iostream>
using namespace std;

int main()
{
    cin.tie(0)->sync_with_stdio(0);

    int N, T[51] = {0, }, cnt = 0, i, idx;
    cin >> N;

    // 받을 개수가 하나라면 계산 없이 종료
    if (N <= 1)
    {
        cout << '0';
        return (0);
    }

    for (i = 0; i < N; i++)
        cin >> T[i];        

    while (true)
    {
        int max = 0;
        for (i = 1; i < N; i++)
            // 인덱스 1 ~ N-1 중에서 가장 큰 값을 고른다.
            if (max < T[i])
            {
                max = T[i];
                idx = i;
            }   
        // 가장 큰 값이 인덱스 0보다 작다면 종료.
        if (T[0] > T[idx])
            break;

        // 종료되지 않으면, 가장 큰 값 -= 1, T[0] += 1, 매수회수 + 1
        T[0]++;
        T[idx]--;
        cnt++;
    }
    cout << cnt;
}
반응형