안녕하세요. 오늘은 단체로 줄넘기를 할 거예요.

문제

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

아이디어

크게 두 그룹으로 나눌 수 있습니다. 왼쪽을 바라보는 학생들과 오른쪽을 바라보는 학생들이지요. 각 그룹에서는 키가 같은 학생은 한명씩만 들어갈 수 있습니다. 하지만 키가 다르면 계속 들어갈 수 있습니다. 그래서 각 키당 최대 두명씩만 들어갈 수 있게 됩니다.

소스코드

#include <iostream>
#include <algorithm>
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    int N, i, x, cnt[1010] = { 0 }, ans = 0;
    cin >> N;
    for (i = 0; i < N; i++)
    {
        cin >> x;
        cnt[x]++;
    }
    for (i = 1; i <= 1000; i++)
        ans += min(cnt[i], 2);
    cout << ans;
}


감사합니다.

0개의 댓글