刚入谷的蒟蒻有些问题。
这是我的疑问,当然,我已经解决了一部分(60分),甚至没有 TLE 只是 wa 了 awa,我完成的那部分在下面,所以可不可以帮帮我这个刚入谷的蒟蒻?
这是分割线
#include<bits/stdc++.h>
using namespace std;
struct node{
int a,b;
}sum[100010];
int n,mid,l,r;
int cmp(node x,node y){
if(x.b!=y.b)
return x.b<y.b;
return x.a<y.a;
}
int f(int x){
int num=0;
for(int i=1;i<=n;i++){
if(sum[i].b<=x)
continue;
num+=sum[i].a;
}
if(num<=x)
return 1;
return 0;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>sum[i].a;
for(int i=1;i<=n;i++)
cin>>sum[i].b;
sort(sum+1,sum+1+n,cmp);
l=1,r=1e9+1;
while(l<r){
mid=(l+r)/2;
if(f(mid)){
r=mid;
}else{
l=mid+1;
}
}
cout<<l;
return 0;
}