Cod sursa(job #2932722)

Utilizator Luka77Anastase Luca George Luka77 Data 3 noiembrie 2022 19:30:53
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("tribute.in");
ofstream fout("tribute.out");

const int NMAX = 55000;
int n, x[NMAX], y[NMAX], dx, dy;

inline int distManhX()
{
    int st = 1, dr = n, ans = 0;
    while(st <= dr && x[dr] - x[st] > dx)
    {
        ans+=x[dr] - x[st] - dx;
        st++;
        dr--;
    }
    return ans;
}

inline int distManhY()
{
    int st = 1, dr = n, ans = 0;
    while(st <= dr && y[dr] - y[st] > dy)
    {
        ans+=y[dr] - y[st] - dy;
        st++;
        dr--;
    }
    return ans;
}


inline void solve()
{
    sort(x + 1, x + n + 1);
    sort(y + 1, y + n + 1);
    fout << (long long) distManhX() + distManhY();
}

int main()
{
    fin >> n >> dx >> dy;
    for(int i=1;i<=n;++i)
        fin >> x[i] >> y[i];
    solve();
}