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;
		}
		if (n == 1) {
			cout << "YES" << endl;
			continue;
		}
		int length;
		for (length = loc[0].b - loc[0].a; length <= loc[1].a - loc[0].a; length++) {
			for (i = 1; i < n - 1; i++) {
				if (loc[i].b - loc[i].a > length) {
					break;
				}
				else if (loc[i + 1].b - loc[i].a <= length) {
					break;
				}
			}
			if (i == n - 1) {
				if (loc[n - 1].b - loc[n - 1].a > length)
					continue;
				else 
					break;
			}
		}
		if (length == loc[1].a - loc[0].a + 1)
			cout << "NO" << endl;
		else
			cout << "YES" << endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6