Pagini recente » Cod sursa (job #2678298) | Cod sursa (job #2333358) | Cod sursa (job #2344023) | Cod sursa (job #560177) | Cod sursa (job #1671422)
#include<cstdio>
int v1[50001];
int v2[50001];
int main()
{
int n,dx,dy,maxx,maxy,minx,miny,i,a,b,f,st,dr,min,j,s,t,min1;
freopen("tribute.in","r",stdin);
freopen("tribute.out","w",stdout);
scanf("%d%d%d",&n,&dx,&dy);
maxx=maxy=-1;
minx=miny=999999;
for(i=1;i<=n;i++)
{
scanf("%d%d",&a,&b);
v1[a]++;
v2[b]++;
if(a>maxx)
maxx=a;
if(b>maxy)
maxy=b;
if(a<minx)
minx=a;
if(b<miny)
miny=b;
}
for(i=minx;i<=maxx;i++)
{
v1[i]+=v1[i-1];
}
for(i=miny;i<=maxy;i++)
{
v2[i]+=v2[i-1];
}
min=9999999;
for(i=0;i+dx-1<=maxx;i++)
{
j=i+dx-1;
///i= inceput de interval
///j= sfarsit de interval
///i-----j
s=0;
st=0;///stanga
/*for(f=i-1;f>=minx;f--)
{
if(v1[f]!=0)
{
st++;
s+=(i-f)*v1[f];
}
}*/
s+=v1[i];
dr=0;///dreapta
/*for(f=j+1;f<=maxx;f++)
{
if(v1[f]!=0)
{
dr++;
s+=(f-j)*v1[f];
}
}*/
s+=v1[maxx]-v1[j];
//vv[i]+=s;
if(s<min && s!=0)
min=s;
}
min1=99999999;
for(i=0;i+dy-1<=maxy;i++)
{
j=i+dy-1;
///i= inceput de interval
///j= sfarsit de interval
///i-----j
s=0;
st=0;///sus
/*for(f=i-1;f>=miny;f--)
{
if(v2[f]!=0)
{
st++;
s+=(i-f)*v2[f];
}
}*/
s+=v2[i];
//t=s;
//s=0;
dr=0;///jos
/*for(f=j+1;f<=maxy;f++)
{
if(v2[f]!=0)
{
dr++;
s+=(f-j)*v2[f];
}
}*/
s+=v2[maxy]-v2[j];
//s+=t;
if(s+min<min1)
min1=s+min;
//vv[i]+=s;
//if(vv[i]<min)
//min=vv[i];
}
printf("%d\n",min1);
return 0;
}