Help me in solving MISSP problem

My issue

include <stdio.h>

int main()
{
int t, n, i, doll;

scanf("%d", &t);
for (i = 0; i < t; i++)
{
    scanf("%d", &n);
    int sum = 0;
    for (int j = 0; j < n; j++)
    {
        scanf("%d", &doll);
        sum += doll;
    }

    int missing_doll = (sum + 1) / 2;

    printf("%d\n", missing_doll);
}

return 0;

}

My code

#include <stdio.h>

int main()
{
    int t, n, i, doll;

    scanf("%d", &t);
    for (i = 0; i < t; i++)
    {
        scanf("%d", &n);
        int sum = 0;
        int max = 0;
        for (int j = 0; j < n; j++)
        {
            scanf("%d", &doll);
            sum += doll;
            if (doll > max)
            {
                max = doll;
            }
        }

        int missing_doll = (sum + 1) / 2;

        if (missing_doll == max)
        {
            missing_doll--;
        }

        printf("%d\n", missing_doll);
    }

    return 0;
}

Problem Link: MISSP Problem - CodeChef

@gabajiya456
Your logic is not right .
Hint :- think of using xor .