题面传送门
好无聊的题。英文好的同学跳过下面一段。
题意简述:给你
a
,
b
,
c
,
d
a,b,c,d
a,b,c,d,
x
1
+
x
2
+
x
3
=
d
x1+x2+x3=d
x1+x2+x3=d且
a
+
x
1
=
b
+
x
2
=
c
+
x
3
a+x1=b+x2=c+x3
a+x1=b+x2=c+x3。求任意一组
x
1
x1
x1,
x
2
x2
x2,
x
3
x3
x3。
那么我们只要先将所有补成一样的并使其最少,然后再判断,如果剩下的
d
d
d为负或
d
%
3
≠
0
d\%3\neq 0
d%3=0,那么不能,反之能。
代码实现:
#include<cstdio>
#include<algorithm>
using namespace std;
int t,a[5],ans,tot,pus;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d%d%d",&a[1],&a[2],&a[3],&ans);
sort(a+1,a+4);
ans-=a[3]-a[1]+a[3]-a[2];
if(ans<0||ans%3) printf("NO\n");
else printf("YES\n");
}
return 0;
}