Cod sursa(job #1508682)

Utilizator ancabdBadiu Anca ancabd Data 22 octombrie 2015 20:43:35
Problema Tribute Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>

using namespace std;

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

int nrx[50005],nry[50005];
int n, dx, dy, a;

int main()
{
    int tx=0,ty=0;
    int x=0, y=0, p, m, mn, mn2;

    fin >> n >> dx >> dy;

    for(int i = 1; i <= n; i++)
    {
        fin >> x >> y;
        tx+=x;
        ty+=y;

        nrx[x]++;
        nry[y]++;
    }

    a=0;
    p=0;
    m=n;
    mn = tx;
    for(int i = -dx; i <= 50000; i++)
    {
        if(i >= 0)p += nrx[i];
        if(a <50005)m -= nrx[a];
        if(tx <mn)mn =tx;

        tx-=m;
        tx+=p;
        a++;
    }

    mn2=ty;
    a=0;
    p=0;
    m=n;
    for(int i = -dy; i <= 50000; i++)
    {
        if(a >= 0) p += nry[i];
        if(a <50005)m -= nry[a];
        if(ty < mn2)mn2=ty;

        ty-=m;
        ty+=p;
        a++;
    }

    fout<< mn + mn2<<'\n';
    return 0;
}