두 점 위치가 주어지고, 선의 총 길이 구하기 (겹치는 부분은 중복으로 세지 않음)
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n; cin >> n;
vector<pair<int,int>> v(n);
long long ans = 0;
for(int i = 0; i < n; i++) cin >> v[i].first >> v[i].second;
sort(v.begin(), v.end());
int start = v[0].first;
int end = v[0].second;
for(int i = 1; i < n; i++){
if (v[i].first <= end){ // 겹치는 부분이 있음
end = max(end, v[i].second);
}
else{ // 겹치는 부분이 없음
ans += (end - start);
start = v[i].first;
end = v[i].second;
}
}
ans += (end - start); // 맨 마지막에 남은 부분 반영
cout << ans;
}