#include<stdio.h> int main() { int c[50000] = {1},l[100],r[100]; int t,n,sum; long i,j; scanf("%d",&t); while(t--) { scanf("%d",&n); for (i = 0;i < n;i++) { scanf("%ld %ld",&l[i],&r[i]); for (j = l[i]+1;j < r[i];j++) { c[j] = 0; } } if (n == 1) printf("YES\n"); else { for (i = 1;i <50000;i++) { for (j = 0;j < n-1;j++) { if (sum == 0) { if (i >= r[0] && i <= l[1]) { sum++; i+=i; } else break; } else { if (i >= r[j] && i <= l[j+1]) { sum++; i+=i; } else break; } } if (j == n-1) { if (i >= r[j]) { sum++; i+=i; } else break; } if (sum != n) sum = 0; else break; } if (sum == n) printf("YES\n"); else printf("NO\n"); for (i = 0;i <= r[n-1];i++) { if (c[i] == 0) c[i] = 1; } } } return 0; } |
Double click to view unformatted code.