using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

public class Program
{
    static public void Main()
    {
        var s = new Sol();
        //s.Solve1();
        //s.Solve2();
        s.Solve3();
        s.Solve4();
        s.Solve5();
    }
}
public class Sol
{
    //ABC 045 C たくさんの数式
    //https://atcoder.jp/contests/arc061/tasks/arc061_a
    //+を入れられるのはn-1か所
    //=>2^(n-1)通りの全探索
    public void Solve1()
    {
        string s = Console.ReadLine();
        int n = s.Length;
        long ans = 0;
        for (int i = 0; i < (1 << n-1); i++)//1<<0=1 1<<1=2 1<<2=4　なので1<<nはn+1桁の2進数で表せる最大の数
        {
            var d = new int[n-1];
            for (int j = 0; j < n-1; j++)
            {
                if (((i >> j) & 1) == 1) { d[j] = 1; }//iのjビット目が１か
            }
            string t = "";
            for(int j = 0; j < n; j++)
            {
                t += s[j].ToString();
                if (j==n-1 || d[j] == 0)
                {
                    ans += long.Parse(t);
                    t = "";
                }
            }
        }
        Console.WriteLine(ans);
    }

    //ABC 079 C Train Ticket
    //https://atcoder.jp/contests/abc079/tasks/abc079_c
    public void Solve2()
    {
        string s = Console.ReadLine();
        int n = 3;
        for (int i = 0; i < (1 << n); i++)//1<<0=1 1<<1=2 1<<2=4　なので1<<nはn+1桁の2進数で表せる最大の数
        {
            var d = new int[n];
            for (int j = 0; j < n; j++)
            {
                if (((i >> j) & 1) == 1) { d[j] = 1; }//iのjビット目が１か
            }
            int sum = int.Parse(s[0].ToString());
            for(int j = 0; j < n; j++)
            {
                if (d[j] == 1)sum+= int.Parse(s[j+1].ToString());
                else sum -= int.Parse(s[j+1].ToString());
            }
            if (sum == 7)
            {
                string[] a = new string[n];
                for(int j = 0; j < n; j++)
                {
                    a[j] = d[j] == 1 ? "+" : "-";
                }
                for(int j = 0; j < n; j++)
                {
                    Console.Write($"{s[j]}{a[j]}");
                }
                Console.WriteLine($"{s[n]}=7");
                break;
            }
        }
    }

    //ABC 104 C All Green
    //https://atcoder.jp/contests/abc104/tasks/abc104_c
    //それぞれ完全に解くか解かないかを決定する
    //またあとで
    public void Solve3()
    {
        int[] In = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int d = In[0];
        int g = In[1];
        int[] P = new int[d];
        int[] C = new int[d];
        for(int i = 0; i < d; i++)
        {
            int[] In2 = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
            P[i] = In2[0];
            C[i] = In2[1];
        }
        long res = 1001001001;
        for(int bit = 0; bit < (1 << d); ++bit)
        {
            long sum = 0, num = 0;
            for (int i = 0; i < d; ++i)
            {
                if ((bit & (1 << i)) == 0)
                {
                    sum += C[i] + P[i] * 100 * (i + 1);
                    num += P[i];
                }
            }
            if (sum >= g) res = (int)Math.Min(res, num);
            else
            {
                for(int i = d - 1; i >= 0; --i)
                {
                    if((bit & (1 << i)) == 0)continue;
                    for (int j = 0; j < P[i]; ++ j)
                    {
                        if (sum >= g) break;
                        sum += 100 * (i + 1);
                        ++num;
                    }
                }
                res = (int)Math.Min(res, num);
            }
        }
        Console.WriteLine(res);
    }

    //
    //
    public void Solve4()
    {

    }

    //
    //
    public void Solve5()
    {

    }
}


Measured memory_bytes: 28296