91AC - ABC073C: Write and Erase

ABC073-C (300 points)
問題

長さ Nの数列  A_1, A_2, ..., A_N に奇数回出てくる数字の個数を数える.

  •  0 \leq N \leq 10^5
  •  0 \leq A_i \leq 10^9
  • 入力は全て整数
方針
  • 素直に書く→TLE
  • Aをソートして, 先頭から順番にそれぞれの数字がいくつ連続しているか数えていく
  • ソート + 数列を1回探索
# input
N = int(input())
A = [int(input()) for _ in range(N)]

A = sorted(A)
i = 0
ans = 0

while i < N:
    k = 1
    while (i + k) < N and A[i] == A[i + k]:
        k += 1
    if (k - 1) % 2 == 0:
        ans += 1
    i = i + k

print(ans)