Pagini recente » Cod sursa (job #483630) | Cod sursa (job #1764415) | Cod sursa (job #2208183) | Cod sursa (job #1243042) | Cod sursa (job #643263)
Cod sursa(job #643263)
#include <cstdio>
#define NMax 50005
using namespace std;
int N, DX, DY, PX[NMax+5], PY[NMax+5];
inline int Min (int a, int b)
{
if (a<b)
{
return a;
}
return b;
}
inline int Solve (int V[], int D)
{
int S, CurrentS=0;
for (int i=D; i<NMax; ++i)
{
CurrentS+=((i-D)*V[i]);
}
S=CurrentS;
for (int i=1; i<NMax; ++i)
{
V[i]+=V[i-1];
}
for (int i=1; i+D<NMax; ++i)
{
CurrentS+=V[i-1];
CurrentS-=(N-V[i+D-1]);
S=Min (S, CurrentS);
}
return S;
}
void Read ()
{
freopen ("tribute.in", "r", stdin);
scanf ("%d %d %d", &N, &DX, &DY);
for (int i=1; i<=N; ++i)
{
int X, Y;
scanf ("%d %d", &X, &Y);
++PX[X];
++PY[Y];
}
}
void Print ()
{
freopen ("tribute.out", "w", stdout);
printf ("%d\n", Solve (PX, DX)+Solve (PY, DY));
}
int main()
{
Read ();
Print ();
return 0;
}