Pagini recente » Cod sursa (job #3191478) | Cod sursa (job #3279919) | Cod sursa (job #3293245) | Rating george (opreageorge) | Cod sursa (job #3211102)
#include <fstream>
using namespace std;
ifstream fin ("tribute.in");
ofstream fout ("tribute.out");
int n,a,b,i,x,y,minx,miny;
int frxst[50001],fryst[50001],frxdr[50001],frydr[50001],ssx[50001],sdx[50001],ssy[50001],sdy[50001];
int main()
{
///minimul pe ox+minimul pe oy
fin>>n>>a>>b;
for (i=1; i<=n; i++)
{
fin>>x>>y;
frxst[x]++;
fryst[y]++;
frxdr[x]++;
frydr[y]++;
}
for (i=1; i<=50000; i++)
frxst[i]+=frxst[i-1];
for (i=49999; i>=0; i--)
frxdr[i]+=frxdr[i+1];
ssx[0]=0;
for (i=1; i<=50000; i++)
ssx[i]=ssx[i-1]+frxst[i-1];
sdx[50000]=0;
for (i=49999; i>=0; i--)
sdx[i]=sdx[i+1]+frxdr[i+1];
minx=sdx[a];
for (i=1; i<=50000-a; i++)
minx=min (minx,ssx[i]+sdx[i+a]);
for (i=1; i<=50000; i++)
fryst[i]+=fryst[i-1];
for (i=49999; i>=0; i--)
frydr[i]+=frydr[i+1];
ssy[0]=0;
for (i=1; i<=50000; i++)
ssy[i]=ssy[i-1]+fryst[i-1];
sdy[50000]=0;
for (i=49999; i>=0; i--)
sdy[i]=sdy[i+1]+frydr[i+1];
miny=sdy[b];
for (i=1; i<=50000-b; i++)
miny=min (miny,ssy[i]+sdy[i+b]);
fout<<minx+miny;
return 0;
}