acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 开荒100%AC,点个赞吧

    #include <iostream> #include <vector> #include <algorithm> using namespace std; struct Interval { long long a, b; }; bool compareIntervals(const Interval& i1, const Interval& i2) { if (i1.a != i2.a) return i1.a < i2.a; return i1.b < i2.b; } int main() { int n; cin >> n; vector<Interval> intervals(n); for (int i = 0; i < n; ++i) { cin >> intervals[i].a >> intervals[i].b; } sort(intervals.begin(), intervals.end(), compareIntervals); if (n == 0) { cout << 0 << endl; return 0; } long long currentStart = intervals[0].a; long long currentEnd = intervals[0].b; long long totalLength = 0; for (int i = 1; i < n; ++i) { if (intervals[i].a <= currentEnd) { currentEnd = max(currentEnd, intervals[i].b); } else { totalLength += currentEnd - currentStart; currentStart = intervals[i].a; currentEnd = intervals[i].b; } } totalLength += currentEnd - currentStart; cout << totalLength << endl; return 0; }

    userId_undefined

    宇智波鼬的欧豆豆

    出道萌新时间刺客空间掌握者I/O·IO入门者模拟·模拟练习生贪心·贪心尝试者
    1阅读
    0回复
    0点赞
首页