Pagini recente » Cod sursa (job #640983) | Cod sursa (job #2539217) | Cod sursa (job #2903) | Cod sursa (job #3144355) | Cod sursa (job #572696)
Cod sursa(job #572696)
# include <algorithm>
# include <fstream>
# include <vector>
using namespace std ;
# define tot(A) A.begin (), A.end ()
# define lb(A, x, y) lower_bound ( tot(A), make_pair ( x, y ) )
# define ub(A, x, y) upper_bound ( tot(A), make_pair ( x, y ) )
# define sr(A) sort ( tot(A) )
const char *FIN = "grendizer.in", *FOU = "grendizer.out" ;
vector < pair < int, int > > A, B ;
int N, M ;
int main ( void ) {
ifstream f ( FIN ) ;
ofstream g ( FOU ) ;
f >> N >> M ;
for ( int i = 1, x, y ; i <= N; ++i ) {
f >> x >> y ;
A.push_back ( make_pair ( x + y, y ) ) ;
B.push_back ( make_pair ( x - y, y ) ) ;
}
sr(A), sr(B) ;
for ( int x, y, r ; M; --M ) {
f >> x >> y >> r ;
g << ub(A, x + y - r, y) - lb (A, x + y - r, y - r) + ub(A, x + y + r, y + r) - lb(A, x + y + r, y) +
lb (B, x - y - r, y + r) - ub (B, x - y - r, y) + lb (B, x - y + r, y) - ub (B, x - y + r, y - r) << '\n' ;
}
}