小蓝正在玩一款游戏。游戏中魏(X)、蜀(Y)、吴(Z)三个 国家各自拥有一定数量的士兵X,Y,Z(一开始可以认为 都为0)。游戏有n个可能会发生的事件,每个事件之间 相互犭虫立且最多只会发生一次,当第i个事件发生时会分 别让X,Y,Z增加Ai,Bi,Ci。 当游戏结束时(所有事件的发生与否已经确定),如果X,Y,Z的其中一个大于另夕卜两个之和,我们认为其获 胜。例如,当X>Y+Z时,我们认为魏国获胜。小蓝 想知道游戏结束时如果有其中一个国家获胜,最多发生了 多少个事件?如果不存在任何能让某国获胜的情况,请输出-1 输入格式 输入的第一行包含一个整数 第二行包含n个整数表示Ai,相邻整数之间使用一个空格 分隔。 第三行包含n个整数表示Bi,相邻整数之间使用一个空格 分隔。 第四行包含n个整数表示Ci ,相邻整数之间使用一个空格 分隔```cpp
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+9;
int n;
int A[N],B[N],C[N],w[N];
int judge(int x[],int y[],int z[])//求使x获胜的最多事件
{
int idex=0;
for(int i=1;i<=n;i++)
{
w[i]=x[i]-y[i]-z[i];
}
sort(w+1,w+1+n,greater<int>());//降序排列
long long int sum=0;
for(int i=1;i<=n;i++)
{
sum+=w[i];
if(sum>0)
idex=i;
else
break;
}
return idex;
}
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=0;
ans=max(judge(A,B,C),judge(B,A,C),judge(C,A,B));
cout<<ans;
return 0;
}
我这里总报错[错误] '__comp' cannot be used as a function和In instantiation of 'constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare) [with _Tp = int; _Compare = int]':,是max函数哪里写错了吗