fun main(args: Array<String>) {
    val (D, G) = readIntList()
    val pc = (0 until D).map { readIntList() }

    fun f(sc: Int, n: Int, notAnsMax: Int, i: Int): Int {
        if (i == D) {
            if (G - sc > 0) {
                val nn = (G - sc - 1) / (notAnsMax + 1) / 100 + 1
                if (nn in 0 until pc[notAnsMax][0])
                    return n + nn
                return 9999
            } else {
                return n
            }
        }

        val (p, c) = pc[i]
        val a = f(sc + p * (i + 1) * 100 + c, n + p, notAnsMax, i + 1)
        val b = f(sc, n, i, i + 1)
        return Math.min(a, b)
    }

    println(f(0, 0, 0, 0))
}

fun readString() = readLine()!!
fun readInt() = readLine()!!.toInt()
fun readLong() = readLine()!!.toLong()
fun readIntList() = readLine()!!.split(" ").map(String::toInt)