HHKB プログラミングコンテスト 2020 C - Neq Min【Python】

https://atcoder.jp/contests/hhkb2020/tasks/hhkb2020_c

AtCoder ProblemsのRecommendationで Difficulty: 352、Solve Probability: 50%でした。

単純なforループしか思いつかず実行時間制限に間に合わないかと思いましたが実際にコードを書いてみたら「p1...piのいずれとも等しくない値のうちの最小値」の候補の最小値を更新していけば良いことに気づきました。
今後は間に合わなそうな解法でもとりあえず書いてみることにします。

N = int(input())
p = list(map(int, input().split()))
s = set()
#「p1...piのいずれとも等しくない値のうちの最小値」の候補の最小値
x = 0
for i in range(N):
    s.add(p[i])
    for j in range(x, 200000+1):
        if j not in s:
            print(j)
            x = j
            break