#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define repr(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rep(i, n) repr(i, 0, n) #define INF 2e9 #define MOD 1000000007 //#define MOD 998244353 #define LINF (long long)4e18 #define jck 3.141592 const double EPS = 1e-10; using ll = long long; using Pi = pair; using Pl = pair; int main(){ int n,d; cin >> n >> d; vector x(n),v(n); rep(i,n) cin >> x[i]; rep(i,n) cin >> v[i]; int ok = 1000000000/n+1,ng = 0; while(ok-ng > 1){ int mid = (ok+ng)/2; ll sum = 0; rep(i,n){ sum += (ll)v[i]*mid; } if(sum >= d) ok = mid; else ng = mid; } cout << ok << endl; }