AcWing 4965. 三国游戏
原题链接
简单
作者:
fib纳7
,
2024-04-08 15:36:26
,
所有人可见
,
阅读 16
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+10;
bool cmp(int x,int y)
{
return x>y;
}
int n,a[N],b[N],c[N],s[N];
int get_ans(int x[],int y[],int z[])
{
ll sum = 0;
int cnt =0;
for(int i=1;i<=n;i++)
{
s[i] = x[i]-y[i]-z[i];
}
sort(s+1,s+n+1,cmp);
for(int i=1;i<=n;i++)
{
sum+=s[i];
if(sum>0) cnt++;
else break;
}
if(cnt == 0) return -1;
return cnt;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
for(int i=1;i<=n;i++) cin>>c[i];
int ans_a = get_ans(a,b,c);
int ans_b = get_ans(b,a,c);
int ans_c = get_ans(c,a,b);
int ans = max(ans_a,max(ans_b,ans_c));
cout<<(ans==-1? -1:ans)<<"\n";
return 0;
}