結果

問題 No.2126 MEX Game
ユーザー pitP
提出日時 2022-11-18 22:36:48
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 63 ms / 2,000 ms
コード長 726 bytes
コンパイル時間 254 ms
コンパイル使用メモリ 81,672 KB
実行使用メモリ 82,004 KB
最終ジャッジ日時 2024-09-20 03:04:20
合計ジャッジ時間 2,872 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
cnt = [0] * (10**5+10)
A = list(map(int,input().split()))
for i in range(N):
    cnt[A[i]] += 1

r = 10**5+4
flag = True #一度だけ
res = 0
for i in range(10**5+1):
    #print(i,cnt[:5],res)
    if cnt[i] >= 2:
        res += cnt[i] - 2
    elif cnt[i] == 0:
        print(i)
        exit()
    elif flag == False: # cnt[i] == 1:
        print(i)
        exit()
    elif flag == True: # cnt[i] == 1:
        flag = False
        if res :
            cnt[i] += 1
        else:
            while r > i:
                if cnt[r] == 0:
                    r -= 1
                else:
                    cnt[r] -= 1
                    break
            else:
                print(i)
                exit()
0