[题目链接]
https://codeforces.com/contest/1004/problem/A
[算法]
直接按题意模拟即可
时间复杂度 :O(NlogN)
[代码]
#include<bits/stdc++.h> using namespace std; #define MAXN 110 const int inf = 1e9; int n,d; int a[MAXN]; set< int > ans; template <typename T> inline void read(T &x) { T f = 1; x = 0; char c = getchar(); for (; !isdigit(c); c = getchar()) if (c == '-') f = -f; for (; isdigit(c); c = getchar()) x = (x << 3) + (x << 1) + c - '0'; x *= f; } inline bool ok(int x) { int i; int ret = inf; for (int i = 1; i <= n; i++) ret = min(ret,abs(a[i] - x)); return ret == d; } int main() { read(n); read(d); for (int i = 1; i <= n; i++) read(a[i]); for (int i = 1; i <= n; i++) { if (ok(a[i] - d)) ans.insert(a[i] - d); if (ok(a[i] + d)) ans.insert(a[i] + d); } printf("%d ",(int)ans.size()); return 0; }