Cod sursa(job #484181)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 12 septembrie 2010 17:40:40
Problema Hvrays Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
#include<algorithm>
using namespace std;

#define maxim(a,b) (a>b ? a : b)

int t,n,m;
int poz,op,vm;
struct point
{
    int x,y;
};
point a[100006],b[100006];

int cmp(const point& a,const point& b)
{
    return a.x>b.x;
};

int main ()
{
    int i;
    freopen("hvrays.in","r",stdin);
    freopen("hvrays.out","w",stdout);
    scanf("%d",&t);
    for(;t;t--)
    {
        scanf("%d%d",&n,&m);
        for(i=1;i<=n;i++)
            scanf("%d%d",&a[i].x,&a[i].y);
        for(i=1;i<=m;i++)
            scanf("%d%d",&b[i].x,&b[i].y);
        sort(a+1,a+n+1,cmp);
        sort(b+1,b+m+1,cmp);
        poz=1;vm=-1;op=0;
        for(i=1;i<=n;i++)
        {
            if(vm>=a[i].y)
                continue;
            op++;
            for(;poz<=m;poz++)
                if(b[poz].x>=a[i].x)
                    vm=maxim(vm,b[poz].y);
                else
                    break;
        }
        printf("%d\n",op);
    }
    return 0;
}