import java.util.Scanner; class Trap { private int A, B; public int getA() { return A; } public void setA(int a) { A = a; } public int getB() { return B; } public void setB(int b) { B = b; } } public class Main { static Scanner in = new Scanner(System.in); public static boolean judge(Trap[] tra) { int max = max(tra); for (int i = 0; i < tra.length - 1; i++) { if (tra[i].getA() + max > tra[i + 1].getA()) { return false; } } return true; } public static int max(Trap[] tra) { int max = tra[0].getB() - tra[0].getA(); for (int i = 0; i < tra.length; i++) { if (max < tra[i].getB() - tra[i].getA()) { max = tra[i].getB() - tra[i].getA(); } } return max; } public static void main(String[] args) { int T = in.nextInt(); while (T-- > 0) { int N = in.nextInt(); Trap[] tra = new Trap[N]; for (int i = 0; i < N; i++) { tra[i] = new Trap(); tra[i].setA(in.nextInt()); tra[i].setB(in.nextInt()); } if (judge(tra)) { System.out.println("YES"); } else System.out.println("NO"); } } } |
Double click to view unformatted code.