Cod sursa(job #1622609)

Utilizator tqmiSzasz Tamas tqmi Data 1 martie 2016 12:50:05
Problema Tribute Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int N,i,distx,disty,DX,DY,m;
int x[50005],y[50005];
void read()
{
    fin>>N>>DX>>DY;
    for(i=1;i<=N;i++)
    {
        int a,b;
        fin>>a>>b;
        x[b]++;
        y[a]++;
    }
    for(i=DX;i<=50004;i++)
    {
        distx+=(x[i]*(i-DX));
    }
    for(i=DY;i<=50004;i++)
    {
        disty+=(y[i]*(i-DY));
    }
    for(i=0;i<=50004;i++)
    {
        x[i]+=x[i-1];
        y[i]+=y[i-1];
    }
}
void solve()
{
    m=distx;
    for(i=1;i+DX<=50004;i++)
    {
        distx+=x[i-1];
        distx=distx-(N-x[i+DX-1]);
        m=min(m,distx);
    }
    int m1=disty;
    for(i=1;i+DY<=50004;i++)
    {
        disty+=y[i-1];
        disty=disty-(N-y[i+DY-1]);
        m1=min(m1,disty);
    }
    m+=m1;
    fout<<m<<"\n";
}
int main()
{
    read();
    solve();
    return 0;
}