7 条题解

  • 1
    @ 2025-4-28 11:45:28

    #include

    #include

    #include

    using namespace std;

    int main() {

    int n;
    
    cin >> n;
    
    
    
    
    vector<vector<int>> v;
    
    
    for(int i=0; i<n; i++){
    
        int a, b;
        
        cin >> a >> b;
        
        v.push_back({a, b});
        
    }
    
    sort(v.begin(), v.end());
    vector<vector<int>> ans;
    int start = v[0][0], end = v[0][1];
    
    
    for(int i=1; i<n; i++){
        if(v[i][0] <= end){ 
            if(v[i][1] > end) end = v[i][1];
        } else {  
            ans.push_back({start, end});  
            start = v[i][0];
            end = v[i][1];
        }
    }
    ans.push_back({start, end});  
    cout << ans.size() << endl;
    for(auto x: ans){
        cout << x[0] << " " << x[1] << endl;
    }
    
    return 0;
    

    }

    信息

    ID
    735
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    902
    已通过
    124
    上传者