这段时间要沉迷刷题一段时间了,就让CSDN陪我一起吧!
一、题目大意
题目的大致意思就是,给你一个数组a,长度为n,要你求一个数,要求这个数满足他和数组中所有元素的差的绝对值小于等于k,并且是满足这个条件中最大的那一个。
二、题目思路以及AC代码
也是一道水题,这个题目说的花里胡哨,找那个数的时候很简单,我觉得直接看代码就可以看懂。
下面给出AC代码:
#include <iostream>
#define MAXN 105
#define INF 100000000
using namespace std;
int q;
int n, k;
int a[MAXN];
int main()
{
cin >> q;
while (q--){
cin >> n >> k;
int mmax = -INF, mmin = INF;
for (int i=0;i<n;i++){
cin >> a[i];
if (a[i] > mmax) mmax = a[i];
if (a[i] < mmin) mmin = a[i];
}
if (mmax - mmin > 2*k){
cout << -1 << endl;
continue;
}
cout << mmin + k << endl;
}
return 0;
}
如果有问题,欢迎大家指正!!!