Pagini recente » Cod sursa (job #752618) | Cod sursa (job #1056169) | Cod sursa (job #568627) | Cod sursa (job #2502790) | Cod sursa (job #3193403)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin ("ograzi.in");
ofstream fout ("ograzi.out");
int sol,dr,pct,x[50001],y[50001],n,m,i,a,b,l,c,nrc,lin,col;
long long poz,poz1,poz2,poz3,poz4;
unordered_map <long long,int> fr;
bool f (int poz)
{
lin=x[poz];
col=y[poz];
if (a>=lin&&a<=lin+l-1&&b>=col&&b<=col+c-1)
return 1;
else
return 0;
}
int main()
{
fin>>dr>>pct>>l>>c;
for (i=1; i<=dr; i++)
{
fin>>x[i]>>y[i];
n=max (n,x[i]);
m=max (m,y[i]);
}
l++;
c++;
nrc=n/l+1;
for (i=1; i<=dr; i++)
{
poz=1ll*y[i]/c*nrc+x[i]/l;
fr[poz]=i;
}
for (i=1; i<=pct; i++)
{
fin>>a>>b;
poz1=1ll*b/c*nrc+a/l;
poz2=poz1-1;
poz3=poz1-nrc;
poz4=poz3-1;
sol+=f (fr[poz1])||f (fr[poz2])||f (fr[poz3])||f (fr[poz4]);
}
fout<<sol;
return 0;
}