3,881
社区成员
发帖
与我相关
我的任务
分享#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <iterator>
#include <iostream>
using namespace std;
#define pb push_back
#define mp make_pair
#define X first
#define Y second
int main()
{
int data[] = {1,6,2,5,1,5,3,7,8,12,11,17};
const int size = sizeof (data) / sizeof (data[0]);
vector<pair<int, int> > vec, result;
for (int i = 0; i < size; i += 2) vec.pb(mp(data[i], data[i+1]));
sort(vec.begin(), vec.end());
int u = vec[0].X, v = vec[0].Y;
for (int i = 1; i < vec.size(); ++i)
{
if (vec[i].X <= v)
{
if (vec[i].Y > v) v = vec[i].Y;
}
else
{
result.pb(mp(u, v));
u = vec[i].X, v = vec[i].Y;
}
}
result.pb(mp(u, v));
for (int i = 0; i < result.size(); ++i)
cout << result[i].X << " " << result[i].Y << endl;
return 0;
}