ACM模版

描述

题解

水题,看懂就能 A,本来打算和其他题写在一起,但是碍于其他几道我会写的题都要写的详细一些,所以就单列出来充数吧!

代码

#include <iostream>

using namespace std;

const int MAXN = 1e5 + 10;
const int INF = 1e9 + 10;

int a[MAXN];

int main(int argc, const char * argv[])
{
    int n, k;
    while (cin >> n >> k)
    {
        long long ans = 0;
        int minA = INF;
        for (int i = 0; i < n; i++)
        {
            scanf("%d", a + i);
            minA = a[i] < minA ? a[i] : minA;
        }

        int flag = 1;
        for (int i = 0; i < n; i++)
        {
            if ((a[i] - minA) % k)
            {
                flag = 0;
                break;
            }
            ans += (a[i] - minA) / k;
        }

        if (flag)
        {
            cout << ans << '\n';
        }
        else
        {
            cout << "-1\n";
        }
    }

    return 0;
}