fork(1) download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int maxn = 1e6 + 42;
  6.  
  7. void solve() {
  8. int N;
  9. cin >> N;
  10. int l, r;
  11. map<int, int> open, close;
  12. set<int> ends;
  13. int L = 1, R = 1e9;
  14. for(int i = 0; i < N; i++) {
  15. cin >> l >> r;
  16. ends.insert(l);
  17. ends.insert(r);
  18. L = max(L, l);
  19. R = min(R, r);
  20. open[l]++;
  21. close[r]++;
  22. }
  23. int ans = N;
  24. int balance = 0;
  25. for(auto it = begin(ends); it != prev(end(ends)); ++it) {
  26. balance += open[*it] - close[*it];
  27. if(*it >= R && L >= *next(it)) {
  28. ans = min(ans, balance);
  29. }
  30. }
  31. cout << (ans == N ? -1 : ans) << "\n";
  32. }
  33.  
  34. signed main() {
  35. //freopen("input.txt", "r", stdin);
  36. int t;
  37. cin >> t;
  38. while(t--) {
  39. solve();
  40. }
  41. }
  42.  
Runtime error #stdin #stdout 0s 4284KB
stdin
Standard input is empty
stdout
Standard output is empty