Cod sursa(job #2510747)

Utilizator ioana.jianuIoana Jianu ioana.jianu Data 17 decembrie 2019 11:50:25
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;

const int NMAX = 50005;
int x[NMAX], y[NMAX];

int main() {

    freopen ("tribute.in", "r", stdin);
    freopen ("tribute.out", "w", stdout);

    int n, dx, dy, p1, p2, ok, i;
    long long sx, sy;

    scanf ("%d%d%d", &n, &dx, &dy);
    for (i = 1; i <= n; i++)
        scanf ("%d%d", &x[i], &y[i]);

    sort (x + 1, x + n + 1);
    sort (y + 1, y + n + 1);

    p1 = (n + 1) / 2;
    p2 = n / 2 + 1;
    ok = sx = 0;
    for (;p2 <= n; p2++, p1--) {
        if (dx < x[p2] - x[p1])
            ok = 1;
        if (ok == 1)
            sx += x[p2] - x[p1] - dx;
    }


    p1 = (n + 1) / 2;
    p2 = n / 2 + 1;
    ok = sy = 0;
    for (;p2 <= n; p2++, p1--) {
        if (dy < y[p2] - y[p1])
            ok = 1;
        if (ok == 1)
            sy += y[p2] - y[p1] - dy;
    }

    sx += sy;
    printf ("%lld", sx);

    return 0;
}