View Code of Problem 6

#include <iostream>
using namespace std;

struct NODE {
	int a; int b;
};
int main() {
	int t;
	cin >> t;
	while (t--) {
		int n, i;
		struct NODE loc[100];
		cin >> n;
		for (i = 0; i < n; i++){
			cin >> loc[i].a >> loc[i].b;
		}
		int length = loc[0].b - loc[0].a;
		for (i = 1; i < n - 1; i++) {
			if (loc[i].b - loc[i].a > length) {
				cout << "NO" << endl;
				break;
			}
			else if (loc[i].b - loc[i].a + loc[i + 1].b - loc[i + 1].a <= length) {
				cout << "NO" << endl;
				break;
			}
		}
		if (i == n - 1) {
			if (loc[n - 1].b - loc[n - 1].a > length)
				cout << "NO" << endl;
			else
				cout << "YES" << endl;
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6