abc
defuser_6197949313
c_cpp
3 years ago
1.0 kB
9
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...