abc

def
 avatar
user_6197949313
c_cpp
3 years ago
1.0 kB
3
Indexable
#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;


int main() {
    int n;
    cin >> n;

    vector<pair<int, int>> arrayPair;
    for (int i = 0; i < n; ++ i) {
        int x, y;
        cin >> x >> y;
        pair<int, int> p = make_pair(x, y);
        arrayPair.push_back(p);
    }

    sort(arrayPair.begin(), arrayPair.end());
    vector<pair<int, int>> res;
    res.push_back(arrayPair[0]);
    int resIndex = 0;
    for (int i = 1; i < arrayPair.size(); ++ i) {
        if (arrayPair[i].first <= res[resIndex].second || arrayPair[i].second <= res[resIndex].first) {
            res[resIndex].first = min(arrayPair[i].first, res[resIndex].first);
            res[resIndex].second = max(arrayPair[i].second, res[resIndex].second);
        } else {
            res.push_back(arrayPair[i]);
            resIndex ++;
        }
    }

    for (auto p: res) {
        cout << p.first << " " << p.second << endl;
    }

    return 0;
}
Editor is loading...