cf 1183B equalize prices

题目链接  http://codeforces.com/problemset/problem/1183/B

一道简单数学题

首先对n个数进行排序

最大值 - k <= 最小值 + k

若满足则答案输出为最小值 + k

不满足输出-1

 

代码贴在下面

#include<iostream>
#include<algorithm>
using namespace std;
int a[105]={0};
int main()
{
    int q;
    cin>>q;
    while(q--){
        int n,k;
        cin>>n>>k;
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        sort(a,a+n);
        if(a[n-1]-a[0]>2*k){
            cout<<-1<<endl;
        }
        else cout<<a[0]+k<<endl;
    }
    return 0;
 } 

 

posted @ 2019-07-09 19:06  moomight  阅读(185)  评论(0编辑  收藏  举报