View Code of Problem 6

#include <stdio.h>
int Whichismax(int v[], int n)
{
	int i, max;
	max = 0;
	for (i = 0; i<n; i++)
	{
		if (v[i]>v[max])
			max = i;
	}
	return v[max];
}
int main()
{
	int i, i_temp, mid, t, l, r, n, a[50000], b[50000], v[50000], temp;
	scanf("%d", &t);

	while (t--)
	{
		scanf("%d", &n);
		for (i = 0; i < n; i++) {
			scanf("%d %d", &l, &r);
			a[i] = l;
			b[i] = r;
			v[i] = r - l;
		}	
		mid = Whichismax(v, n);
		temp = 0;
		for (i = 0; i < n; i++) {
			if (a[i] % mid == 0 || a[i] % mid >= b[i] - a[i]) {
				temp++;
			}
			else {
				printf("NO");
				return 0;
			}
		}
		if (temp == n) {
			printf("YES");
		}
		else{
			printf("NO");
		}
		printf("\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6