Cod sursa(job #184713)

Utilizator DorinOltean Dorin Dorin Data 24 aprilie 2008 09:45:39
Problema Hvrays Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
# include <cstdio>
# include <vector>
# include <fstream>

# define input "hvrays.in"
# define output "hvrays.out"

using namespace std;

vector < pair <int, int> > h,v;
int n,m,i,x,y,j;

void solve()
{
    sort(h.begin(),h.end());
    sort(v.begin(),v.end());
    int ret = 0;
    for(i = 0,j = 0; i < n && j < m; i++,j++)
    {
        // cat timp ultima verticala intersecteaza ultima orizontala
        while(v[j].second >= h[i].second && j < m) j++;
        while(h[i].first >= v[j].first && i < n) i++ ;
    //    j--;
        ret++;
    }
    printf("%d\n",ret); 
}

int main()
{
    freopen(input, "r", stdin);
    freopen(output,"w", stdout);
    int T;
    scanf("%d",&T);
    
    while(T--)
    {
        scanf("%d %d",&n,&m);
        for(i = 0; i<n; i++)
        {
            scanf("%d %d",&x,&y);
            h.push_back(make_pair(x,y));
        }
        
        for(i = 0; i<m; i++)
        {
            scanf("%d %d",&x,&y);
            v.push_back(make_pair(x,y));
        }
        solve();
    }
    
    return 0;
}