C语言 孤独的数字 求大佬给个代码

给N个数字,其中大部分数字都出现了两次,有且仅有一个数字只出现了一次。请你把它找出来

输入:

第一行输入一个n(1<=n<=1000000),接下来有n个小于 2^64 的正数。

输出:

输出一行,为该只出现了一次的数字。

例:
输入:
5
1 1 2 2 3
输出:
3

#include <stdio.h>
long arr[1000001];
int main()
{
int n;
long x;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%ld", &x);
arr[i] = x;
}
for (int i = 1; i < n; i++)
{
int flag = 0;
for (int j = 0; j < i; j++)
{
if (arr[i] == arr[j]) { flag = 1; break; }
}
if (!flag) { printf("%ld", arr[i]); break; }
}
return 0;
}

如果问题得到解决,请点下采纳