Yuilice题解(ta是我牢师)
2025-04-05 09:55:26
发布于:北京
8阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long w[200001];
long long v[200001];
long long n,m;
bool ans(int s){
long long sum=0;
for(long long i=1;i<=n;i++){
if(s<w[i]){
sum-=v[i];
}
else{
sum+=(s/w[i])*v[i];
}
}
return sum>=m;
}
int main(){
cin>>n>>m;
for(long long i=1;i<=n;i++){
cin>>w[i];
}
for(long long i=1;i<=n;i++){
cin>>v[i];
}
long long x=1,y=1e8;
long long a;
while(x<=y){
long long s=(x+y)/2;
if(ans(s)){
a=s;
y=s-1;
}
else{
x=s+1;
}
}
cout<<a;
return 0;
}
这里空空如也
有帮助,赞一个