Buggy python submission (verdict: Runtime Error):
X = int(input())

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("Yes")
else:
    print("No")

Fixed submission:
X = int(input())

import numpy as np

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("1")
else:
    print("0")

Buggy python submission (verdict: Runtime Error):
X = int(input())

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = True
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] = True:
    print("Yes")
else:
    print("No")

Fixed submission:
X = int(input())

import numpy as np

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("1")
else:
    print("0")

Buggy python submission (verdict: Runtime Error):
X = int(input())

import numpy as np


def judge(X):
	maxrange = min(int(X/100)+1, 1000000)
	for a in range(maxrange):
		for b in range(maxrange):
			for c in range(maxrange):
				S = 100 * a + 101 * b + 102 * c
				d = np.arange(0, maxrange)
				e = np.arange(0, maxrange)
				f = np.arange(0, maxrange)
				DEF = np.meshgrid(d, e, f)
				Splus = 103 * DEF[0] + 104 * DEF[1] * 105 * DEF[2]
				if np.any(Splus == X - S) == True:
					return 1
				else:
					continue
	return 0

print(judge(X))

Fixed submission:
X = int(input())

import numpy as np

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("1")
else:
    print("0")

Buggy python submission (verdict: Runtime Error):
X = int(input())

import numpy as np


def judge(X):
	maxrange = max(int(X/100)+1, 1000000)
	for a in range(maxrange):
		for b in range(maxrange):
			for c in range(maxrange):
				S = 100 * a + 101 * b + 102 * c
				d = np.arange(0, maxrange)
				e = np.arange(0, maxrange)
				f = np.arange(0, maxrange)
				DEF = np.meshgrid(d, e, f)
				Splus = 103 * DEF[0] + 104 * DEF[1] * 105 * DEF[2]
				if np.any(Splus == X - S) == True:
					return 1
				else:
					continue
	return 0

print(judge(X))

Fixed submission:
X = int(input())

import numpy as np

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("1")
else:
    print("0")

Buggy python submission (verdict: Runtime Error):
X = int(input())

import numpy as np


def judge(X):
	for a in range(int(X/100)+1):
		for b in range(int(X/100)+1):
			for c in range(int(X/100)+1):
				S = 100 * a + 101 * b + 102 * c
				d = np.arange(0, int(X/100)+1)
				e = np.arange(0, int(X/100)+1)
				f = np.arange(0, int(X/100)+1)
				DEF = np.meshgrid(d, e, f)
				Splus = 103 * DEF[0] + 104 * DEF[1] * 105 * DEF[2]
				if np.any(Splus == X - S) == True:
					return 1
	return 0

print(judge(X))

Fixed submission:
X = int(input())

import numpy as np

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("1")
else:
    print("0")

Buggy python submission (verdict: Time Limit Exceeded):
X = int(input())

flag = 0

for a in range(int(X/100)+1):
	for b in range(int(X/100)+1):
		for c in range(int(X/100)+1):
			for d in range(int(X/100)+1):
				for e in range(int(X/100)+1):
					for f in range(int(X/100)+1):
						if 100*a + 101*b + 102*c + 103*d + 104*e + 105*f == X:
							flag = 1
							break
						else:
							continue

print(flag)

Fixed submission:
X = int(input())

import numpy as np

J = np.zeros(X+1, dtype="bool")
# J[i] は、 i円の買い物ができるときにTrue, できないとFalse
J[0] = True
J[1:100] = False
J[100:106] = True
for i in range(106, X+1):
    if J[i - 100] or J[i - 101] or J[i - 102] or J[i - 103] or J[i - 104] or J[i - 105]:
        J[i] = True
    else:
        J[i] = False

if J[X] == True:
    print("1")
else:
    print("0")