abc
defuser_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...