D, G = list(map(int, input().split(' ')))

p_c_pairs = [(i+1, list(map(int, input().split(' ')))) for i in range(D)]



import itertools, math

ans = float('inf')

nums = list(range(D))

for n in range(D+1):

    for num in itertools.combinations(nums, n):



        probs, score = 0, 0

        for i in num:

            j, (p, c) = p_c_pairs[i]

            probs += p

            score += 100 * j * p + c



        if G > score:

            i = max([i for i in nums if i not in num])

            j, (p, c) = p_c_pairs[i]

            m = min(p, int(math.ceil((G - score) / (100 * j))))

            probs += m

            score += 100 * j * m

            if m == p:

                score += c



        if G <= score:

            ans = min(ans, probs)



print(ans)
# -*- coding: utf-8 -*-

D, G = list(map(int, input().split(' ')))

p_c_pairs = [((i+1) * 100, list(map(int, input().split(' ')))) for i in range(D)]



import math

ans = float('inf')

p_c_pairs.sort(key=lambda x: -x[0])

for d in range(1<<D):

    # print(bin(d))



    cnt = 0

    g = G

    for i in range(D):

        if 1 & (d >> i):

            score, (p, c) = p_c_pairs[i]

            g -= score * p + c

            cnt += p



    if g > 0:

        for i in range(D):

            if not (1 & (d >> i)):

                score, (p, c) = p_c_pairs[i]

                n = min(p, int(math.ceil(g/score)))

                g -= score * n

                cnt += n

                break



    # print(bin(d), g)

    if g <= 0:

        ans = min(ans, cnt)



print(ans)
D, G = list(map(int, input().split(" ")))
p_c_pairs = [(i + 1, list(map(int, input().split(" ")))) for i in range(D)]
import itertools, math

ans = float("inf")
nums = list(range(D))
for n in range(D + 1):
    for num in itertools.combinations(nums, n):
        probs, score = 0, 0
        for i in num:
            j, (p, c) = p_c_pairs[i]
            probs += p
            score += 100 * j * p + c
        if G > score:
            i = max([i for i in nums if i not in num])
            j, (p, c) = p_c_pairs[i]
            m = min(p, int(math.ceil((G - score) / (100 * j))))
            probs += m
            score += 100 * j * m
            if m == p:
                score += c
        if G <= score:
            ans = min(ans, probs)
print(ans)

# -*- coding: utf-8 -*-
D, G = list(map(int, input().split(" ")))
p_c_pairs = [((i + 1) * 100, list(map(int, input().split(" ")))) for i in range(D)]
import math

ans = float("inf")
p_c_pairs.sort(key=lambda x: -x[0])
for d in range(1 << D):
    # print(bin(d))
    cnt = 0
    g = G
    for i in range(D):
        if 1 & (d >> i):
            score, (p, c) = p_c_pairs[i]
            g -= score * p + c
            cnt += p
    if g > 0:
        for i in range(D):
            if not (1 & (d >> i)):
                score, (p, c) = p_c_pairs[i]
                n = min(p, int(math.ceil(g / score)))
                g -= score * n
                cnt += n
                break
    # print(bin(d), g)
    if g <= 0:
        ans = min(ans, cnt)
print(ans)

+# -*- coding: utf-8 -*- -p_c_pairs = [(i + 1, list(map(int, input().split(" ")))) for i in range(D)] -import itertools, math +p_c_pairs = [((i + 1) * 100, list(map(int, input().split(" ")))) for i in range(D)] +import math -nums = list(range(D)) -for n in range(D + 1): -    for num in itertools.combinations(nums, n): -        probs, score = 0, 0 -        for i in num: -            j, (p, c) = p_c_pairs[i] -            probs += p -            score += 100 * j * p + c -        if G > score: -            i = max([i for i in nums if i not in num]) -            j, (p, c) = p_c_pairs[i] -            m = min(p, int(math.ceil((G - score) / (100 * j)))) -            probs += m -            score += 100 * j * m -            if m == p: -                score += c -        if G <= score: -            ans = min(ans, probs) +p_c_pairs.sort(key=lambda x: -x[0]) +for d in range(1 << D): +    # print(bin(d)) +    cnt = 0 +    g = G +    for i in range(D): +        if 1 & (d >> i): +            score, (p, c) = p_c_pairs[i] +            g -= score * p + c +            cnt += p +    if g > 0: +        for i in range(D): +            if not (1 & (d >> i)): +                score, (p, c) = p_c_pairs[i] +                n = min(p, int(math.ceil(g / score))) +                g -= score * n +                cnt += n +                break +    # print(bin(d), g) +    if g <= 0: +        ans = min(ans, cnt)