#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
#include <set>
#include <queue>
using namespace std;
#define mxn 100020
#define LL long long
#define N 7020
#define inf 0x3f3f3f3f
#define ls ( i << 1 )
#define rs ( ls | 1 )
#define md ( ( ll[i] + rr[i] ) >> 1 )
struct mach {
int a, x;
bool operator < ( const mach &b ) const {
return x < b.x;
}
}c[mxn];
struct task {
int b, y;
bool operator < ( const task &tmp ) const {
return y < tmp.y;
}
}d[mxn];
int n, m;
int cnt[1500];
priority_queue<int> q[1500];
void init() {
for( int i = 0; i < 1500; ++i )
while( !q[i].empty() )
q[i].pop();
}
int ll[N], rr[N], mx[N];
void build( int l, int r, int i ) {
ll[i] = l, rr[i] = r;
if( l == r ) {
mx[i] = -1;
return;
}
build( l, md, ls );
build( md + 1, r, rs );
mx[i] = max( mx[ls], mx[rs] );
}
void update( int k, int v, int i ) {
if( ll[i] == rr[i] ) {
mx[i] = v;
return;
}
if( k <= md )
update( k, v, ls );
else
update( k, v, rs );
mx[i] = max( mx[ls], mx[rs] );
}
int query( int l, int r, int i ) {
if( ll[i] == l && rr[i] == r ) {
return mx[i];
}
if( r <= md )
return query( l, r, ls );
if( l > md )
return query( l, r, rs );
return max( query( l, md, ls ), query( md + 1, r, rs ) );
}
int main() {
// freopen( "tt.txt", "r", stdin );
while( scanf( "%d%d", &n, &m ) != EOF ) {
for( int i = 1; i <= n; ++i )
scanf( "%d%d", &c[i].a, &c[i].x );
for( int i = 1; i <= m; ++i )
scanf( "%d%d", &d[i].b, &d[i].y );
sort( c + 1, c + n + 1 );
sort( d + 1, d + m + 1 );
int j = 1;
memset( cnt, 0, sizeof( cnt ) );
int ans = 0;
LL money = 0;
init();
build( 1, 1500, 1 );
for( int i = 1; i <= n; ++i ) {
while( j <= m && d[j].y <= c[i].x ) {
if( !cnt[d[j].b] )
update( d[j].b, d[j].b, 1 );
cnt[d[j].b] ++;
q[d[j].b].push( d[j].y );
j++;
}
int tmp = query( 1, c[i].a, 1 );
if( tmp == -1 )
continue;
ans++;
money += 500 * tmp + 2 * q[tmp].top();
q[tmp].pop();
--cnt[tmp];
if( cnt[tmp] == 0 )
update( tmp, -1, 1 );
}
printf( "%d %I64d\n", ans, money );
}
return 0;
} 版权声明:本文为u013654696原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。