#include <bits/stdc++.h>
using namespace std;
void solve(long long D, long long G, std::vector<long long> p, std::vector<long long> c){
int ans = 1e9;
// 同じ得点グループを全て解いたパターンをbit全探索
for (int s=0; s < (1<<D); s++) {
int solve = 0, score = 0;
// 部分的に解きたい場合
int partial = -1;
// i番目の得点が同じ問題グループは全て解く
for (int i=0; i<D; i++) {
if (s & (1<<i)) {
solve += p[i];
score += 100 * (i+1) * p[i] + c[i];
} else {
/* こうすることで、最終的に部分的に解きたい問題のうち
得点が最大の問題のiがpartialに入る */
partial = i;
}
}
// 残スコア
int less = G - score;
if (less > 0) {
// 部分的に解きたい問題の1問分の点数
long long prob_score = 100*(partial + 1);
if (less > prob_score*p[partial]) continue;
solve += min(p[partial], less / prob_score);
}
ans = min(ans, solve);
}
cout << ans << endl;
}
// Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools (tips: You use the default template now. You can remove this line by using your custom template)
int main(){
long long D;
scanf("%lld",&D);
long long G;
scanf("%lld",&G);
std::vector<long long> p(D);
std::vector<long long> c(D);
for(int i = 0 ; i < D ; i++){
scanf("%lld",&p[i]);
scanf("%lld",&c[i]);
}
solve(D, G, std::move(p), std::move(c));
return 0;
}