在这里注意ceil使用的时候要加上万能头文件 ceil返回的是大于等于当前式子的最小正整数 即便式子的值为0 返回的结果却是1
#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e6+10;
typedef long long ll;
ll a[N],b[N];
int main()
{
int i,j,k,m,n,t;
cin>>t;
while(t--)
{
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<n;i++)
cin>>b[i];
ll sum=0,ans=0x3f3f3f3f,d=0,tot=0,today=0;
for(i=1;i<=n;i++)
{
sum=today+ceil((1.0*(k-tot))/(1.0*a[i]));
d=ceil((1.0*(b[i]-tot))/(1.0*a[i]));
today+=d+1;
tot+=d*a[i]-b[i];
ans=min(ans,sum);
}
printf("%lld\n",ans);
}
}
|