Cod sursa(job #3359807)

Utilizator AndreiFaurFaur Andrei Bogdan AndreiFaur Data 4 iulie 2026 14:57:07
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>

using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
long long ox[50005], oy[50005];
int main()
{
    long long n, i, x, y, a, b;
    long long dmin=0, d, cntl, cntr, sl, sr;
    fin >> n >> x >> y;
    for(i=1;i<=n;i++) {
        fin >> a >> b;
        ox[a]++;
        oy[b]++;
    }
    sr=0;
    sl=0;
    cntl=0;
    cntr=0;
    d=9223372036854775807;
    for(i=x+1;i<=50000;i++) {
        sr+=ox[i]*i;
        cntr+=ox[i];
    }
    for(i=0;i+x<=50000;i++) {
        d=min(d, sr-cntr*(i+x)+cntl*i-sl);
        sl+=ox[i]*i;
        cntl+=ox[i];
        sr-=ox[i+x+1]*(i+x+1);
        cntr-=ox[i+x+1];
    }
    dmin=d;
    sr=0;
    sl=0;
    cntl=0;
    cntr=0;
    d=9223372036854775807;
    for(i=y+1;i<=50000;i++) {
        sr+=oy[i]*i;
        cntr+=oy[i];
    }
    for(i=0;i+y<=50000;i++) {
        d=min(d, sr-cntr*(i+y)+cntl*i-sl);
        sl+=oy[i]*i;
        cntl+=oy[i];
        sr-=oy[i+y+1]*(i+y+1);
        cntr-=oy[i+y+1];
    }
    dmin+=d;
    fout << dmin;
    return 0;
}