"use strict";
function Main(input) {
    const div = (a, b) => Math.floor(a / b);
    let cin = new Inputer(input);
    let D = cin.getInt(), G = cin.getInt();
    let p = new Array(D), c = new Array(D);
    for (let n = 0; n < D; n++) {
        p[n] = cin.getInt();
        c[n] = cin.getInt();
    }
    let ans = 1e9;
    for (let mask = 0; mask < (1 << D); ++mask) {
        let s = 0, num = 0, rest_max = -1;
        for (let i = 0; i < D; ++i) {
            if (mask >> i & 1) {
                s += 100 * (i + 1) * p[i] + c[i];
                num += p[i];
            } else rest_max = i;
        }
        if (s < G) {
            let s1 = 100 * (rest_max + 1);
            let need = div(G - s + s1 - 1, s1);
            if (need >= p[rest_max]) continue;
            num += need;
        }
        ans = Math.min(ans, num);
    }
    console.log(ans);
}
class Inputer{constructor(t){this.cnt=0,this.items=t.split(/\n|\s/)}getInt(){return this.items[this.cnt++]-0}getIntArray(t){let r=new Array(t);for(let e=0;e<t;e++)r[e]=this.getInt();return r}getStr(){return this.items[this.cnt++]}getStrArray(t){let r=new Array(t);for(let e=0;e<t;e++)r[e]=this.getStr();return r}}
if (typeof window == "undefined") Main(require("fs").readFileSync("/dev/stdin", "utf8"));
