d,g = list(map(int,input().split()))

P,C = [],[]

for i in range(1, d+1):

    p,c = list(map(int,input().split()))

    P.append(p)

    C.append(c)

ans = 10**9

for bin in range(1, 1<<d):

    cnt = tot = 0

    for j in range(d):

        if bin & 1<<j:

            cnt += P[j]

            tot += P[j]*(j+1)*100 + C[j]

    if tot < g: continue

    ans = min(ans, cnt)

    for j in range(d):

        if bin & 1<<j:

            now_cnt = cnt

            now_tot = tot - C[j]

            for k in range(P[j]-1):

                now_cnt -= 1

                now_tot -= (j+1)*100

                if now_tot >= g: ans = min(ans, now_cnt)

print(ans)

d,g = list(map(int,input().split()))

g //= 100

P,C = [],[]

for i in range(1, d+1):

    p,c = list(map(int,input().split()))

    P.append(p)

    C.append(c//100)

ans = 10**9

# print(P)

# print(C)

for bin in range(1, 1<<d):

    cnt = tot = 0

    for j in range(d):

        if bin & 1<<j:

            cnt += P[j]

            tot += P[j]*(j+1) + C[j]

    if tot < g: continue

    ans = min(ans, cnt)

    # print('tot',tot, end=' ')

    # print('cnt',cnt, end='\n')

    for j in range(d):

        if bin & 1<<j:

            init_cnt = cnt - P[j]

            init_tot = tot - (P[j]*(j+1) + C[j])

            rest_g = g - init_tot

            k = max(0, (rest_g+j)//(j+1)) # round up, required quantity

            # print('Pj',P[j], end=' ')

            # print('Cj',C[j], end=' ')

            # print('init_cnt',init_cnt, end=' ')

            # print('init_tot',init_tot, end=' ')

            # print('rest_g',rest_g, end=' ')

            # print('k',k, end='\n')

            if k < P[j]:

                # ans = init_cnt + k

                ans = min(ans, init_cnt + k)

                # print('init_cnt+k',init_cnt+k, end='\n')

print(ans)

d, g = list(map(int, input().split()))
P, C = [], []
for i in range(1, d + 1):
    p, c = list(map(int, input().split()))
    P.append(p)
    C.append(c)
ans = 10**9
for bin in range(1, 1 << d):
    cnt = tot = 0
    for j in range(d):
        if bin & 1 << j:
            cnt += P[j]
            tot += P[j] * (j + 1) * 100 + C[j]
    if tot < g:
        continue
    ans = min(ans, cnt)
    for j in range(d):
        if bin & 1 << j:
            now_cnt = cnt
            now_tot = tot - C[j]
            for k in range(P[j] - 1):
                now_cnt -= 1
                now_tot -= (j + 1) * 100
                if now_tot >= g:
                    ans = min(ans, now_cnt)
print(ans)

d, g = list(map(int, input().split()))
g //= 100
P, C = [], []
for i in range(1, d + 1):
    p, c = list(map(int, input().split()))
    P.append(p)
    C.append(c // 100)
ans = 10**9
# print(P)
# print(C)
for bin in range(1, 1 << d):
    cnt = tot = 0
    for j in range(d):
        if bin & 1 << j:
            cnt += P[j]
            tot += P[j] * (j + 1) + C[j]
    if tot < g:
        continue
    ans = min(ans, cnt)
    # print('tot',tot, end=' ')
    # print('cnt',cnt, end='\n')
    for j in range(d):
        if bin & 1 << j:
            init_cnt = cnt - P[j]
            init_tot = tot - (P[j] * (j + 1) + C[j])
            rest_g = g - init_tot
            k = max(0, (rest_g + j) // (j + 1))  # round up, required quantity
            # print('Pj',P[j], end=' ')
            # print('Cj',C[j], end=' ')
            # print('init_cnt',init_cnt, end=' ')
            # print('init_tot',init_tot, end=' ')
            # print('rest_g',rest_g, end=' ')
            # print('k',k, end='\n')
            if k < P[j]:
                # ans = init_cnt + k
                ans = min(ans, init_cnt + k)
                # print('init_cnt+k',init_cnt+k, end='\n')
print(ans)

+g //= 100 -    C.append(c) +    C.append(c // 100) +# print(P) +# print(C) -            tot += P[j] * (j + 1) * 100 + C[j] +            tot += P[j] * (j + 1) + C[j] +    # print('tot',tot, end=' ') +    # print('cnt',cnt, end='\n') -            now_cnt = cnt -            now_tot = tot - C[j] -            for k in range(P[j] - 1): -                now_cnt -= 1 -                now_tot -= (j + 1) * 100 -                if now_tot >= g: -                    ans = min(ans, now_cnt) +            init_cnt = cnt - P[j] +            init_tot = tot - (P[j] * (j + 1) + C[j]) +            rest_g = g - init_tot +            k = max(0, (rest_g + j) // (j + 1))  # round up, required quantity +            # print('Pj',P[j], end=' ') +            # print('Cj',C[j], end=' ') +            # print('init_cnt',init_cnt, end=' ') +            # print('init_tot',init_tot, end=' ') +            # print('rest_g',rest_g, end=' ') +            # print('k',k, end='\n') +            if k < P[j]: +                # ans = init_cnt + k +                ans = min(ans, init_cnt + k) +                # print('init_cnt+k',init_cnt+k, end='\n')