Pagini recente » Cod sursa (job #2874847) | Cod sursa (job #228802) | Cod sursa (job #2669783) | Cod sursa (job #2377216) | Cod sursa (job #2679951)
#include<cstdio>
using namespace std;
FILE*in=fopen("tribute.in","r");
FILE*out=fopen("tribute.out","w");
int n,dx,dy,i,x,y,ssx[50003],ssy[50003],ctx[50003],cty[50003],ss,sd;
long long minnx=300000000,nr,minny=300000000,sx[50003],sy[50003];
int main()
{
fscanf(in,"%d%d%d",&n,&dx,&dy);
for(i=1;i<=n;i++)
{
fscanf(in,"%d%d",&x,&y);
ssx[x]++;
ssy[y]++;
}
ctx[0]=ssx[0];
cty[0]=ssy[0];
for(i=1;i<=50000;i++)
{
ctx[i]=ctx[i-1]+ssx[i];
cty[i]=cty[i-1]+ssy[i];
sx[i]=(long long)sx[i-1]+ssx[i]*i;
sy[i]=(long long)sy[i-1]+ssy[i]*i;
}
for(i=0;i+dx<=50000;i++)
{
nr=(long long)ctx[i]*i-sx[i]+sx[50000]-sx[i+dx]-(i+dx)*(n-ctx[i+dx]);
if(nr<minnx)
{
minnx=(long long)nr;
}
}
for(i=0;i+dy<=50000;i++)
{
nr=(long long)cty[i]*i-sy[i]+sy[50000]-sy[i+dy]-(i+dy)*(n-cty[i+dy]);
if(nr<minny)
{
minny=(long long)nr;
}
}
fprintf(out,"%lld",minnx+minny);
}