HRZ的序列
相较于咕咕东,瑞神是个起早贪黑的好孩子,今天早上瑞神起得很早,刷B站时看到了一个序列 ,他对 这个序列产生了浓厚的兴趣,他好奇是否存在一个数 ,使得一些数加上K ,一些数减去K ,一些数不变,使得整个序列中所有的数相等,其中对于序列中的每个位置上的数字,至多只能执行一次加运算或 减运算或是对该位置不进行任何操作。由于瑞神只会刷B站,所以他把这个问题交给了你!
输入格式
输入第一行是一个正整数t 表示数据组数。 接下来对于每组数据,输入的第一个正整数 n表示序列a 的长 度,随后一行有 n个整数,表示序列 a。
输出格式
输出共包含 t行,每组数据输出一行。对于每组数据,如果存在这样的K,输出"YES",否则输出“NO”。 (输出不包含引号)
(con[1] - con[0]) = (con[2] - con[1])
,则存在K,否则,不存在K.#include
#include
#include
#include
#include
#include
#include
using namespace std;
vector<long long> v;
long long con[3];
int main()
{
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
int n;
cin >> n;
v.clear();
for (int j = 0; j < n; j++)
{
long long temp;
cin >> temp;
bool in = false;
for (int k = 0; k < v.size(); k++)
{
if (v[k] == temp)
in = true;
}
if (in == false)
v.push_back(temp);
if (v.size() > 3)
{
//cout << "NO" << endl;
//break;//这里不能break,要都读进来啊,不然下一次就是接着读了。
}
}
if (v.size() > 3)
{
cout << "NO" << endl;
}
if (v.size() == 3)
{
for (int p = 0; p < 3; p++)
{
con[p] = v[p];
}
sort(con, con + 3);
if ((con[1] - con[0]) == (con[2] - con[1]))
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
}
if (v.size() < 3)
{
cout << "YES" << endl;
}
}
}