Pagini recente » Cod sursa (job #2072475) | Cod sursa (job #84253) | Cod sursa (job #1412816) | Cod sursa (job #1409840) | Cod sursa (job #1622713)
# include <fstream>
# define DIM 50010
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int y2,x2,x[DIM],y[DIM],val,nrx,nry,i,x1,y1,n,dx,dy,xs[DIM],ys[DIM],xd[DIM],yd[DIM],minim1,minim2,maxx,maxy,minx,miny;
int main () {
fin>>n>>dx>>dy;
minim2=minim1=minx=miny=DIM;
for(i=1;i<=n;i++){
fin>>x1>>y1;
x[x1]++;
y[y1]++;
if(x1>maxx)
maxx=x1;
if(y1>maxy)
maxy=y1;
if(x1<minx)
minx=x1;
if(y1<miny)
miny=y1;
}
//nrx=x[minx];
for(i=minx;i<=maxx;i++){
xs[i]+=nrx+xs[i-1];
if(x[i]!=0)
nrx+=x[i];
}
nrx=0;
//nrx=x[maxx];
for(i=maxx;i>=minx;i--){
xd[i]+=nrx+xd[i+1];
if(x[i]!=0)
nrx+=x[i];
}
//nry=y[miny];
for(i=miny;i<=maxy;i++){
ys[i]+=nry+ys[i-1];
if(y[i]!=0)
nry+=y[i];
}
//nry=y[maxy];
nry=0;
for(i=maxy;i>=miny;i--){
yd[i]+=nry+yd[i+1];
if(y[i]==1)
nry+=y[i];
}
for(i=minx;i<=maxx-dx+1;i++){
val=xs[i-1]+xd[i+dx-1];
if(val<minim1){
minim1=val;
x2=i;
}
}
for(i=miny;i<=maxy-dy+1;i++){
val=ys[i-1]+yd[i+dy-1];
if(val<minim2){
minim2=val;
y2=i;
}
}
fout<<minim1+minim2<<"\n";
//fout<<x2<<" "<<y2;
return 0;
}