Submission

Status:
TTTTTTTTTP

Score: 10

User: jarukeit

Problemset: F.Ueka Battle

Language: cpp

Time: 1.091 second

Submitted On: 2024-10-14 15:21:27

#include <stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int arr[n];
    scanf("%d",&arr[0]);
    // scanf + max
    int max;
    max = arr[0];
    for(int i = 1;i < n;i ++)
    {
        scanf("%d",&arr[i]);
        if(max < arr[i])
        {
            max = arr[i];
        }
    }
    // set count 0
    int count[max+1];
    for(int i = 0;i <= max;i ++)
    {
        count[i] = 0;
    }
    // count ตัวซ้ำ
    for(int i = 0;i < n;i ++)
    {
        for(int j = 0;j <= max;j ++)
        {
            if(arr[i] == j)
            {
                count[j] ++;
            }
        }
    }
    // stole
    int stole = n/2;
    for(int i = 0;i < stole;i ++)
    {
        for(int j = i;j < max+1;j ++)
        {
            if(count[j] > 1)
            {
                count[j] --;
                break;
            }
            else if(count[j] == 1)
            {
                count[j] --;
                break;
            }
        }
    }
    // sum
    int sum = 0;
    for(int i = 0;i < max+1;i ++)
    {
        if(count[i] == 1)
        {
            sum = count[i] + sum;
        }
        else if(count[i] > 1)
        {
            sum = sum + 1;
            continue;
        }
    }
    printf("%d",sum);
    return 0;
}
//6 1 0 4 1 2 3
//6 0 0 1 1 2 2