我的代码输出不对QAQ
#include<bits/stdc++.h>
#define lcm(x,y) x/__gcd(x,y)*y;
#define str to_string
using namespace std;
using ll=long long;
const int MAX=1e5+1;
const double EPS=1e-6;
ll n,m,k,a[MAX],b[MAX];
bool check(ll mid,ll sum=0){
for(ll i=0;i<n;i++)sum+=upper_bound(b,b+m,mid-a[i])-b;
return sum>=k;
}
void work(){
ll l=0,r=INT_MAX;
while(l<=r){
ll mid=(l+r)>>1;
if(check(mid))l=mid+1;
else r=mid-1;
}
cout<<r<<'\n';
}
int main(){
cin>>n>>m>>k;
for(ll i=0;i<n;i++)cin>>a[i];
for(ll i=0;i<m;i++)cin>>b[i];
sort(b,b+m);
work();
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n, m, k, a [100005], b [100005];
bool check ( int x ) {
int sum = 0;
for(int i = 0 ; i < n ; i++ ) {
sum += upper_bound ( b, b + m, x - a[i] ) - b;
}
return sum >= k;
}
signed main(){
cin >> n >> m >> k;
for(int i = 0 ; i < n ; i++ ) {
cin >> a [i];
}
for(int i = 0 ; i < m ; i++ ) {
cin >> b[i];
}
sort( b, b + m );
int l = 0, r = INT_MAX;
while(l + 1 < r ) {
int mid = ( l + r ) / 2;
if (check ( mid ) ) r = mid;
else l = mid;
}
cout << r;
return 0;
}