Submission

Status:

[PPPPPPPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Quaoar

Problemset: วันว่างๆ

Language: cpp

Time: 0.024 second

Submitted On: 2026-03-11 20:28:25

#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;
    cin >> n;
    int mx = -1;
    int mn = 1e9;
    vector<int> arr(1001 , 0);
    for (int i = 0 ; i < n ; i++){
        int m;
        cin >> m;
        for (int j = 0 ; j < m ; j++){
            int a , b;
            cin >> a >> b;
            mn = min(a , mn);
            mx = max(b , mx);
            arr[a]--;
            arr[b]++;
        }
    }
    for (int i = mn + 1; i <= mx ; i++){
        arr[i] += arr[i - 1];
    }
    arr[mx] = 1e9;
    arr[mn - 1] = -1e9;
    // for (int i = 0 ; i <= mx + 1; i++) cout << arr[i] << " ";
    bool exist = false;
    for (int i = mn ; i <= mx; i++){
        int start;
        int cnt;
        int end;
        if (arr[i] == 0){
            start = i;
            cnt = 1;
            while (cnt){
                if (arr[start + cnt] == 0){
                    cnt++;
                } else {
                    end = start + cnt;
                    cnt = 0;
                }
            }
            cout << start << " " << end << " ";
            exist = true;
            i = end;
        }
        
    }
    if (!exist){
        cout << -1;
    }
    return 0;
}