算法1
贪心
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10 ;
LL a[N] , b[N] , c[N] , n ;
LL get(LL p[]){
LL sum = 0 ,res = 0 ;
for(int i=n-1;i>=0;i--){
sum += p[i] ;
if(sum <= 0) break ;
res ++ ;
}
return res ;
}
signed main(){
cin >> n ;
for(int i=0;i<n;i++) cin >> a[i] ;
for(int i=0;i<n;i++) cin >> b[i] ;
for(int i=0;i<n;i++) cin >> c[i] ;
for(int i=0;i<n;i++){
LL x=a[i],y=b[i],z=c[i];
a[i]-=y+z,b[i]-=x+z,c[i]-=x+y ;
}
sort(a,a+n) ; sort(b,b+n) ; sort(c,c+n) ;
LL ans = max(get(a),max(get(b),get(c)));
if(ans == 0) cout << -1 << endl ;
else cout << ans << endl ;
}