integer D
integer(16) G
integer(16),allocatable,dimension(:)::p,c
integer ans,preans,point

integer pattern

read*,D,G
allocate(P(D),C(D))
do i=1,D
  read*,P(i),C(i)
end do

ans=huge(ans)
do i=1,2**D
  pattern=i
  preans=0;point=0
  do j=1,D
    if(mod(pattern,2)==1)then
      point=point+j*P(j)*100+C(j)
      preans=preans+P(j)
    endif
    pattern=pattern/2
  end do
  if(G>point)then
    pattern=i
    do j=1,D
      if(mod(pattern,2)==0)then
        if((G-point)/(j*100)<=P(j)-1)then
          preans=preans+(G-point)/(j*100)
          point=G
          exit
        endif
      endif
    pattern=pattern/2
    end do
  endif
  if(G<=point)ans=min(preans,ans)
end do

print"(I0)",ans

end