#include<iostream>
#include <bits/stdc++.h>
using namespace std;
long long int m,ans=0;//注意m的范围比较大,如果只是定义int的话会导师运行错误
int a[210000],b[210000],n;//题目中n的范围在int的范围之内
inline int func()
{
for(int i=1;i<=n;i++)
{
if(a[i]==0)
{
if(m==0) return 0;
else if(b[i]!=0) {b[i]--;m--;}
else return 0;
}
else
a[i]--;
}
return 1;
}
int main()
{
//加速输入输出,减少运行时间
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
while(true){
if(!func())break;
ans++;
}
cout<<ans;
return 0;
}
需要自定义一个函数,用来判断是否正确运行了一次循环,如果是的话则ans++,否则跳出来.