5 条题解

  • 0
    @ 2026-5-27 21:50:23
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    const int N = 10010;
    
    int n;
    int x[N], y[N];
    
    int work(int *q) // *q等价于q[0]
    {
        int res = 0;
        sort(q, q + n);
        for(int i = 0; i < n; i++) res += abs(q[i] - q[i / 2]); //下标从0开始 i/2下取整
        return res;
    }
    
    int main()
    {
        cin >> n;
        for(int i = 0; i < n; i++) cin >> x[i] >> y[i];
        
        sort(x, x + n);
        for(int i = 0; i < n; i++) x[i] -= i;
        
        cout << work(y) + work(x) << endl;
        
        return 0;
    }
    

    信息

    ID
    34
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    102
    已通过
    92
    上传者