题目链接:http://codeforces.com/problemset/problem/1183/B
思路
其实b就是序列的最小值加上k,如果这个和与序列的每一个值的差的绝对值小于k,就输出b,否则输出-1.
AC代码
#include<iostream> using namespace std; long long a[200]; int main() { int n; cin>>n; while(n--) { int num; long long k; cin>>num>>k; long long minn=1e8; for(int i=1;i<=num;i++) { cin>>a[i]; if(a[i]<minn)minn=a[i]; } long long t=minn+k; int i; for(i=1;i<=num;i++) { if(t-a[i]>k||t-a[i]<(-k))break; } if(i<=num)cout<<-1<<endl; else cout<<t<<endl; } return 0; }