#include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ long long n,m; cin >> n >> m; vector a(n), k(n); for(int i=0; i> a[i]; } for(int i=0; i> k[i]; } long long sum = 0; for(int i=0; i dp(sz, 1LL<<50); dp[0] = 0; for(int i=0; i1){ long long mid = (lb+ub)/2; bool ok = check(mid); (ok? lb : ub) = mid; } */ cnt += lb; sum -= lb*a.back(); cnt = dp[sum]!=(1LL<<50)?(cnt+dp[sum]):-1; cout << cnt << endl; return 0; }