import scala.collection.mutable.{Map => MMap}
object Main extends App {
  type Score = Long
  type Count = Int
  val in = new java.util.Scanner(System.in)
  val D = in.nextInt
  val G = in.nextLong / 100
  case class Problem(n: Int, bonus: Score)
  val Ps = List.fill(D)(Problem(in.nextInt, in.nextLong / 100))


  def dp(ps: List[Problem], mult: Int, cur: MMap[Score, Count]): Count = {
    val next = cur.clone
    ps match {
      case Nil => cur.minBy(cs => if (cs._1 >= G) cs._2 else Int.MaxValue)._2
      case x :: xs =>
        for {
          n <- (1 to x.n)
          score <- cur.keys
        } {
          val newScore = score + n * mult + (if (n == x.n) x.bonus else 0L)
          next(newScore) = next(newScore) min (cur(score) + n)
        }
        dp(xs, mult + 1, next)
    }
  }

  println(dp(Ps, 1, MMap[Score, Count](0L -> 0).withDefaultValue(Int.MaxValue)))
}