一开始是想要暴力枚举abc的
然后不想写那么麻烦,回想起了等差数列的性质 a+c == 2*b
然后呢 既然能被乘到满足条件 那就意味着能被整除
于是有了这样的代码
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define ms(x, y) memset(x, y, sizeof x)
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
int main()
{
ios::sync_with_stdio(false);cin.tie(0);
int n;
cin >> n;
int a, b, c;
while(n--)
{
cin >> a >> b >> c;
if(a+c == 2*b) cout << "Yes";
else
{
if(2*b < a + c)
{
if( (a+c) % (2*b) == 0 ) cout << "Yes";
else cout << "No";
}
else//(2*b > a+c)
{
if( (2*b - c) % a == 0 || (2*b - a) % c == 0 ) cout << "Yes";
else cout << "No";
}
}
cout << endl;
}
return 0;
}