open Printf
open Scanf

let (d,g) = sscanf (read_line ()) "%d %d" (fun d g -> (d,g));;
let rec input_list num l =
if num = 0 then l
else 
    let (p,c) = sscanf (read_line ()) "%d %d" (fun d g -> (d,g)) in
    input_list (num-1) ((100 * (d-num+1), p, c) :: l);;

let list = input_list d [];;
let inf = 10000000000;;

let solve list g =
    let rec loop l q_num sum tl =
    match l with
    | [] -> 
        (match tl with
        | [] ->  if sum >= g then q_num else inf
        | x::rest -> 
            let diff = g - sum in
            if diff <= 0 then q_num 
            else 
                let (i1,p1,c1) = List.hd (List.rev tl) in
                if i1*(p1-1)+sum < g then inf
                else q_num + truncate ((float_of_int diff) /. (float_of_int i1))
        )
    | (i1,p1,c1)::rest -> 
        let used_value = loop rest (q_num + p1) (sum + p1*i1 + c1) tl in
        let non_used_value = loop rest q_num sum ((i1,p1,c1) :: tl) in
        min used_value non_used_value
    in loop list 0 0 [];;

let ans = solve list g;;

let _ = printf "%d\n" ans;;