Cod sursa(job #1517643)

Utilizator EpictetStamatin Cristian Epictet Data 4 noiembrie 2015 17:51:32
Problema Hvrays Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin ("hvrays.in");
ofstream fout ("hvrays.out");

int main()
{
    int t;
    pair < int, int > H[100010], V[100010];
    fin >> t;
    while (t --)
    {
        int sol = 0, y = -1, n, m;
        fin >> n >> m;
        for (int i = 1; i <= n; i ++) fin >> H[i].first >> H[i].second;
        for (int i = 1; i <= m; i ++) fin >> V[i].first >> V[i].second;

        sort (H + 1, H + 1 + n);
        sort (V + 1, V + 1 + m);

        for (int i = n, j = m; i >= 1; i --)
        {
            if (H[i].second <= y)
            {
                continue;
            }
            else
            {
                sol ++;
                y = -1;
                while (V[j].first >= H[i].first && j >= 1)
                {
                    y = max(y, V[j].second);
                    j --;
                }
            }
        }

        fout << sol << '\n';
    }

    return 0;
}