Cod sursa(job #481989)

Utilizator DraStiKDragos Oprica DraStiK Data 2 septembrie 2010 11:59:57
Problema Hvrays Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <algorithm>
#include <vector>
using namespace std;

#define INF 0x3f3f3f3f
#define mp make_pair
#define DIM 200005
#define sc second
#define fs first

pair <int,pair <int,int> > v[DIM];
int t,n,m,nrt;

void read ()
{
    int i,x,y;

    scanf ("%d%d",&n,&m);
    for (i=1; i<=n; ++i)
    {
        scanf ("%d%d",&x,&y);
        v[i]=mp (y,mp (0,x));
    }
    for (i=1; i<=m; ++i)
    {
        scanf ("%d%d",&x,&y);
        v[n+i]=mp (y,mp (1,x));
    }
}

void solve ()
{
    int i,xc,xv;

    xc=xv=-INF;
    sort (v+1,v+n+m+1);
    for (i=n+m; i>=1; --i)
        if (v[i].sc.fs)
            xv=max (xv,v[i].sc.sc);
        else
        {
            if (v[i].sc.sc>xc)
            {
                ++nrt;
                xc=xv;
            }
        }
    printf ("%d\n",nrt);
}

int main ()
{
    freopen ("hvrays.in","r",stdin);
    freopen ("hvrays.out","w",stdout);
    int i;

    scanf ("%d",&t);
    for (i=1; i<=t; ++i)
    {
        read ();
        solve ();
    }

    return 0;
}