大二带专生


私信TA

用户名:dotcpp0676254

访问量:548

签 名:

等  级
排  名 9249
经  验 1168
参赛次数 0
文章发表 18
年  龄 0
在职情况 学生
学  校 职业技术学院
专  业

  自我简介:

解题思路:

注意事项:将就着看吧这个格式调不好

参考代码:

#include<iostream>

#include<vector>

#include<algorithm>

using namespace std;

typedef pair<int,int>PII;


const int N = 100010;

int n;

vector<PII>segs;


void merge(vector<PII>& segs)

{

vector<PII> res;

sort(segs.begin(), segs.end());

int st = -2e9,ed=-2e9;

for (auto seg : segs)

{

if (ed < seg.first)

{

if (st != -2e9)

res.push_back({ st,ed });

st = seg.first,ed = seg.second;

}

else

ed = max(ed, seg.second);

}if (st != -2e9)res.push_back({ st, ed });

segs = res;

}

int main()

{

cin >> n;

for (int i = 0; i < n; i++)

{

int l, r;

cin >> l >> r;

segs.push_back({ l,r });

}

merge(segs);

if (segs.size() == 1)

cout << segs[0].first << " " << segs[0].second;

else

cout << "no";

}


 

0.0分

1 人评分

  评论区

  • «
  • »