#include<iostream>
#include<bits/stdc++.h>
#include<bits/stdc++.h>
using namespace std;
#define vi vector<int>
#define pii pair<int,int>
#define int long long
#define ff first
#define se second
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define N 1000002
vector<vi> adj(N);
vi vis(N,0);
vi vis2(N,0);
vi deg(N,0);
vi depth(N,0);
int dp[50001][501];
vi res;
map<int,int> m;
set<int> k,l;
bool f=0;
int mod=998244353;
void deph(int i,int p){
vis2[i]=1;
depth[i]=depth[p]+1;
for(auto it:adj[i]){
if(!vis2[it])
deph(it,i);
}
}
void dfs(int i){
// cout<<i<<" ";
vis[i]=1;
if(m[i]>0)
l.insert(i);
if(k==l)
f=1;
for(auto it:adj[i]){
if(!vis[it]){
dfs(it);
}
}
l.erase(i);
}
void solve(){
int n,k;
cin>>n>>k;
vi a(n),b(n-1);
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
cin>>b[i];
}
int days=0;
int curr=0;
int res=100000000000000000;
for(int i=0;i<n;i++){
int p=(ceil((double)(k-curr)/(double)a[i]));
res=min(res,days+p);
if(i==n-1)
break;
int o=ceil((double)(b[i]-curr)/(double)(a[i]));
curr+=a[i]*o-b[i];
days+=(o+1);
}
cout<<res;
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t;
cin>>t;
while(t--){
solve();
cout<<"\n";
}
}
/*vector<int> primefactorization(int n){
vector<int> res;
while(n>1){
int count=0;
int p=spf[n];
while(n%p==0&&n!=1){
n/=p;
count++;
}
res.push_back(p);
}
return res;
}*/
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |
1217. Minimum Cost to Move Chips to The Same Position | 347. Top K Frequent Elements |
1503. Last Moment Before All Ants Fall Out of a Plank | 430. Flatten a Multilevel Doubly Linked List |
1290. Convert Binary Number in a Linked List to Integer | 1525. Number of Good Ways to Split a String |
72. Edit Distance | 563. Binary Tree Tilt |
1306. Jump Game III | 236. Lowest Common Ancestor of a Binary Tree |
790. Domino and Tromino Tiling | 878. Nth Magical Number |