在你的养牛场所有的奶牛都养在一排呈直线的牛栏中。一共有 n 头奶牛其中第 i 头牛在直线上所处的位置可以用一个整数坐标 pi0≤pi≤108 来表示。在无聊的日子里奶牛们常常在自己的牛栏里与其它奶牛交流一些八卦新闻。每头奶牛发出的声音响度是一样的而由于声波的能量衰减某头奶牛发出的声音只能被与它距离不超过 d0≤d≤104 的奶牛所听到这样这对奶牛就称为可以相互交流的。现在给出所有奶牛的位置和声音所
#include
int main() { int n, d; cin >> n >> d;
vector<int> p(n);
for (int i = 0; i < n; i++) {
cin >> p[i];
}
sort(p.begin(), p.end()); // 将奶牛位置从小到大排序
int mid = n / 2; // 中间的奶牛位置
int count = 0; // 统计能听到八卦的奶牛数量
for (int i = 0; i < n; i++) {
if (abs(p[i] - p[mid]) <= d) { // 如果距离不超过 d,说明能听到八卦
count++;
}
}
cout << count << endl;
return 0;
原文地址: https://www.cveoy.top/t/topic/gvyu 著作权归作者所有。请勿转载和采集!