fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. int main() {
  5. ios_base::sync_with_stdio(false);
  6. cin.tie(NULL);
  7. int t;
  8. cin>>t;
  9. while(t--) {
  10. ll n;
  11. cin>>n;
  12. vector<int> l(n), r(n);
  13. vector<pair<int, int> > v;
  14.  
  15. for (int i=0;i<n;i++){
  16. int x;
  17. cin>>l[i]>>r[i];
  18. cin>>x;
  19. v.push_back({x,i});
  20. }
  21. sort(v.begin(), v.end());
  22. // sort acc to l[i] for each grp;
  23. int i=0;
  24. bool flag = false;
  25. while(i<n){
  26. vector<pair<int,int> > vec;
  27. vec.push_back({l[v[i].second], r[v[i].second]});
  28. for(int j=i+1;j<n;j++){
  29. if(v[i].first == v[j].first){
  30. vec.push_back({l[v[j].second], r[v[j].second]});
  31. }
  32. else break;
  33. }
  34. sort(vec.begin(), vec.end());
  35. int sz = vec.size();
  36. for(int j = 0;j<sz-1;j++){
  37. int ac=0;
  38. for(int z = j+1;z<sz;z++){
  39. if(vec[j].second >= vec[z].first) ac++;
  40. }
  41. if(ac>=2){
  42. flag = true;
  43. break;
  44. }
  45. }
  46. i += sz;
  47. if(flag == true) break;
  48.  
  49. }
  50. if(flag ==true ){
  51. cout<<"NO"<<endl;
  52. }
  53. else{
  54. cout<<"YES"<<endl;
  55. }
  56. }
  57. return 0;
  58. }
Success #stdin #stdout 0s 4176KB
stdin
1
3
1 4 2
4 6 2
6 8 2
stdout
YES