酷代码 AI
菜单
服务商

C++实现计算探测器走到管道口的路程总和

```cpp #include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> pipes(n); vector<int> detectors(m); for (int i = 0; i < n; ++i) { cin >> pipes[i]; } for (int i = 0; i < m; ++i) { cin >> detectors[i]; } sort(pipes.begin(), pipes.end()); int total_distance = 0; for (int i = 0; i < m; ++i) { int left = 0, right = n - 1; while (left < right - 1) { int mid = left + (right - left) / 2; if (pipes[mid] > detectors[i]) { right = mid; } else { left = mid; } } total_distance += min(abs(detectors[i] - pipes[left]), abs(detectors[i] - pipes[right])); } cout << total_distance << endl; return 0; } ``` ######[AI问答 | 300点数解答 | 2026-04-11 20:43:35]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]