Buggy python submission (verdict: Runtime Error):
import numpy as np

N, M, X = map(int, input().split())

data = [list(map(int, input().split())) for _ in range(N)]
INF = float('int')

data_all = []
c_min = INF

for i in range(2**N):
    data_tmp = [0]*M
    c = 0
    for j in range(N):
        if((i>>j) & 1):
            for k in range(M):
                data_tmp[k] += data[j][k+1]
            c += data[j][0]
    if(min(data_tmp) >= X):
        c_min = min(c, c_min)

if(c_min == INF):
    print(-1)
else:
    print(c_min)





Fixed submission:
import numpy as np

N, M, X = map(int, input().split())

data = [list(map(int, input().split())) for _ in range(N)]
INF = float('inf')

data_all = []
c_min = INF

for i in range(2**N):
    data_tmp = [0]*M
    c = 0
    for j in range(N):
        if((i>>j) & 1):
            for k in range(M):
                data_tmp[k] += data[j][k+1]
            c += data[j][0]
    if(min(data_tmp) >= X):
        c_min = min(c, c_min)

if(c_min == INF):
    print(-1)
else:
    print(c_min)

Buggy python submission (verdict: Time Limit Exceeded):
import numpy as np

N, M, X = map(int, input().split())

data = [list(map(int, input().split())) for _ in range(N)]

data_a = np.sum(data, axis=0)
#print(data_all - data[1])
data_all_zero = []
data_all = []
data_nolma = []
data_nolma.append(0)
for i in range(M + 1):
    data_all_zero.append(data_a[i])

data_all.append(data_all_zero)
#print("data_all:", data_all)

for i in range(M):
    data_nolma.append(X)

#print("data_nol:", data_nolma)





for i in range(N):
    data_all_len = len(data_all)
    for j in range(N):
        for k in range(len(data_all)):
            #print("data[j]:", data[j])
            #print("len:", len(data_all))
            data_tmp = [x - y for (x,y) in zip(data_all[k], data[j])]
            #print("data_tmp:", data_tmp)
            data_tmp_nol = [x - y for (x,y) in zip(data_tmp, data_nolma)]
            #print("data_tmp_nol:", data_tmp_nol)
            if(min(data_tmp_nol) >= 0):
                data_all.append(data_tmp)
    if(len(data_all) == data_all_len):
        break


#print(data_all)
data_all.sort()

flag = 0
for i in range(1, len(data_all[0])):
    if(data_all[0][i] < X):
        print(-1)
        flag = 1
        break
if(flag == 0):
    print(data_all[0][0])

Fixed submission:
import numpy as np

N, M, X = map(int, input().split())

data = [list(map(int, input().split())) for _ in range(N)]
INF = float('inf')

data_all = []
c_min = INF

for i in range(2**N):
    data_tmp = [0]*M
    c = 0
    for j in range(N):
        if((i>>j) & 1):
            for k in range(M):
                data_tmp[k] += data[j][k+1]
            c += data[j][0]
    if(min(data_tmp) >= X):
        c_min = min(c, c_min)

if(c_min == INF):
    print(-1)
else:
    print(c_min)

Buggy python submission (verdict: Time Limit Exceeded):
import numpy as np

N, M, X = map(int, input().split())

data = [list(map(int, input().split())) for _ in range(N)]

data_a = np.sum(data, axis=0)
#print(data_all - data[1])
data_all_zero = []
data_all = []
data_nolma = []
data_nolma.append(0)
for i in range(M + 1):
    data_all_zero.append(data_a[i])

data_all.append(data_all_zero)
#print("data_all:", data_all)

for i in range(M):
    data_nolma.append(X)

#print("data_nol:", data_nolma)





for i in range(N):
    for j in range(N):
        for k in range(len(data_all)):
            #print("data[j]:", data[j])
            #print("len:", len(data_all))
            data_tmp = [x - y for (x,y) in zip(data_all[k], data[j])]
            #print("data_tmp:", data_tmp)
            data_tmp_nol = [x - y for (x,y) in zip(data_tmp, data_nolma)]
            #print("data_tmp_nol:", data_tmp_nol)
            if(min(data_tmp_nol) >= 0):
                data_all.append(data_tmp)


#print(data_all)
data_all.sort()

flag = 0
for i in range(1, len(data_all[0])):
    if(data_all[0][i] < X):
        print(-1)
        flag = 1
        break
if(flag == 0):
    print(data_all[0][0])

Fixed submission:
import numpy as np

N, M, X = map(int, input().split())

data = [list(map(int, input().split())) for _ in range(N)]
INF = float('inf')

data_all = []
c_min = INF

for i in range(2**N):
    data_tmp = [0]*M
    c = 0
    for j in range(N):
        if((i>>j) & 1):
            for k in range(M):
                data_tmp[k] += data[j][k+1]
            c += data[j][0]
    if(min(data_tmp) >= X):
        c_min = min(c, c_min)

if(c_min == INF):
    print(-1)
else:
    print(c_min)