5 条题解

  • 0
    @ 2025-8-12 15:23:30
    #include <iostream>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    int main() {
        int n;
        // 读取商店数量
        cin >> n;
        
        // 存储商店坐标
        vector<int> positions(n);
        for (int i = 0; i < n; ++i) {
            cin >> positions[i];
        }
        
        // 排序以找到中位数
        sort(positions.begin(), positions.end());
        
        // 找到中位数位置
        int median = positions[n / 2];
        
        // 计算距离之和(使用传统for循环替代范围for循环)
        int total_distance = 0;
        for (int i = 0; i < positions.size(); ++i) {
            total_distance += abs(positions[i] - median);
        }
        
        // 输出结果
        cout << total_distance << endl;
        
        return 0;
    }
    

    信息

    ID
    16
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    380
    已通过
    177
    上传者