//----fishman@Willian #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<queue> #include<stack> #include<set> #include<map> using namespace std; typedef long long ll; typedef unsigned long long ull; const int maxn=100005; struct Soil{ int bg,ed; }; Soil a[maxn]; bool cmp(Soil a,Soil b){ return a.bg<b.bg; } int main() { int T; cin>>T; while(T--){ int n; cin>>n; for(int i=0;i<n;++i)cin>>a[i].bg>>a[i].ed; sort(a,a+n,cmp); int flag=1,flag1; for(int i=a[0].ed;i<=a[1].bg;++i){ flag1=1; int pos=i+i; for(int j=1;j<n;++j){ if(!((j!=n-1)&&pos<=a[j+1].bg&&pos>=a[j].ed||(j==n-1&&pos>=a[j].ed))){ flag1=0;break; } } if(flag1==1)break; } flag=flag1; cout<<(flag==1?"YES":"NO")<<endl; } return 0; } |
Double click to view unformatted code.