CSU-暑假集训题 Equalize Prices

题目链接: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;
}

猜你喜欢

转载自www.cnblogs.com/xlbfxx/p/11244477.html