fun main(args: Array<String>) {
    val (D, G) = readLine()!!.split(" ").map { it.toInt() }
    val pc = (1..D).map { readLine()!!.split(" ").map { it.toInt() } }

    var ans = Int.MAX_VALUE
    for (bit in 0 until (1 shl D)) {
        var count = 0
        var sum = 0L
        for (i in 0 until D) {
            if (bit and (1 shl i) != 0) {
                sum += 100 * (i+1) * pc[i][0] + pc[i][1]
                count += pc[i][0]
            }
        }
        if (G <= sum) {
            ans = Math.min(ans, count)
        } else {
            for (i in D - 1 downTo 0) {
                if (bit and (1 shl i) != 0) {
                    continue
                } else {
                    for (j in 0 until pc[i][0]) {
                        if (G <= sum) {
                            break
                        }
                        count++
                        sum += 100 * (i+1)
                    }
                }
            }
            ans = Math.min(ans, count)
        }
    }
    println(ans)
}