Problem p02641 (python)

Fixed submission:
import sys

X, N = map(int,input().split())
p = list(map(int,input().split()))

for d in range(X + 1):
    for s in [-1, +1]:
        a = X + s * d
        if p.count(a) == 0:
            print(a)
            sys.exit(0)

Buggy submission (verdict: Runtime Error):
def workC():
    
    x,n = map(int,input().split())
    l = list(map(int,input().split()))

    if n == 0:
        return x
    
    if n == 100:
        return 0
    
    for i in range(x,maxx):
        if not i in l:
            u = i
            #dic.setdefault(i,abs(i-x))
            break
    
    for i in range(x,minx,-1):
        if not i in l:
            d = i
            #dic.setdefault(i,abs(x-i))
            break
    
    if abs(x-u) == abs(x-d):
        return min(u,d)
    elif abs(x-u) < abs(x-d):
        return u
    else:
        return d

u=999
d=999
minx = 1-1
maxx = 100+1

ans = workC()
print(ans)

Buggy submission (verdict: Runtime Error):
def workC():
    
    x,n = map(int,input().split())
    l = list(map(int,input().split()))

    if n == 0:
        return x
    
    if n == 100:
        return 0
    
    for i in range(x,maxx):
        if not i in l:
            u = i
            #dic.setdefault(i,abs(i-x))
            break
    
    for i in range(x,minx,-1):
        if not i in l:
            d = i
            #dic.setdefault(i,abs(x-i))
            break
    
    if abs(x-u) == abs(x-d):
        return min(u,d)
    elif abs(x-u) < abs(x-d):
        return u
    else:
        return d

ans = workC()
print(ans)

Buggy submission (verdict: Runtime Error):
#C

ans = []
x,n = map(int,input().split())
l = list(map(int,input().split()))
l.sort()

nl = [0] * 100

for i in l:
    nl[i] = i

if(not (n == 0)):

    mx = x+1
    if(mx <= 100):
        for i in range(x+1,len(nl)+1):
            if( nl[i] ==  0):
                #ans.append(mx)
                break
            mx = mx + 1
    else:
        mx = 999
    
    
    mi = x - 1
    if(mi >= 1):
        for i in range(x-1,1,-1):
            if( nl[i] ==  0):
                #ans.append(mi)
                break
            mi = mi - 1
    else:
        mi = 999
    
    if(abs(x - mi) > abs(x - mx)):
        print(mx)
    else:
        print(mi)
        
else:
    print(x)

Buggy submission (verdict: Runtime Error):
#C

ans = []
x,n = map(int,input().split())
l = list(map(int,input().split()))
l.sort()

nl = [0] * 100

for i in l:
    nl[i] = i

if(not (n == 0)):

    mx = x+1
    if(mx <= 100):
        for i in range(x+1,len(nl)+1):
            if( nl[i] ==  0):
                #ans.append(mx)
                break
            mx = mx + 1
    else:
        mx = 999
    
    
    mi = x - 1
    if(mi >= 1):
        for i in range(x-1,1,-1):
            if( nl[i] ==  0):
                #ans.append(mi)
                break
            mi = mi - 1
    else:
        mi = 999
    
    if(abs(x - mi) > abs(x - mx)):
        print(mx)
    else:
        print(mi)
        
else:
    print(n)

Buggy submission (verdict: Runtime Error):
#C

ans = []
x,n = map(int,input().split())
l = list(map(int,input().split()))

l.sort()


nl = [0] * 100


for i in l:
    nl[i] = i

if(not (n == 0)):

    mx = x+1
    if(mx < 100):
        for i in range(x+1,len(nl)+1):
            if( nl[i] ==  0):
                ans.append(mx)
                break
            mx = mx + 1
    
    
    mi = x - 1
    if(mi > 1):
        for i in range(x-1,1,-1):
            if( nl[i] ==  0):
                ans.append(mi)
                break
            mi = mi - 1

print(min(abs(n),abs(mi),abs(mx)))

Buggy submission (verdict: Runtime Error):
ans = []
x,n = map(int,input().split())
l = list(map(int,input().split()))

l.sort()

ans.append(x)

nl = [0] * 100


for i in l:
    nl[i] = i

if(not (n == 0)):
    #プラス方向
    mx = x+1
    if(mx < 100):
        for i in range(x+1,len(nl)+1):
            if( nl[i] ==  0):
                ans.append(mx)
                break
            mx = mx + 1
    
    
    mi = x - 1
    if(mi > 1):
        for i in range(x-1,1,-1):
            if( nl[i] ==  0):
                ans.append(mi)
                break
            mx = mx + 1        

print(min(ans))

Buggy submission (verdict: Runtime Error):
#C

ans = []
x,n = map(int,input().split())
l = list(map(int,input().split()))

l.sort()

ans.append(x)

print(x,n)
print(l)

nl = [0] * 100


for i in l:
    nl[i] = i

if(not (n == 0)):
    #プラス方向
    mx = x+1
    if(mx < 100):
        for i in range(x+1,len(nl)+1):
            if( nl[i] ==  0):
                ans.append(mx)
                break
            mx = mx + 1
    
    
    mi = x - 1
    if(mi > 1):
        for i in range(x-1,1,-1):
            if( nl[i] ==  0):
                ans.append(mi)
                break
            mx = mx + 1        

print("ans=",ans)
print(min(ans))