描述
题解
水题,看懂就能 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;
}