View Code of Problem 6

#include <stdio.h>
int main()
{
	int t,n,max,flag=1,i;
	int l[100],r[100];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		for(i=0;i<n;i++)
		{
			scanf("%d %d",&l[i],&r[i]);
		}
		max=r[0]-l[0];
		for(i=0;i<n;i++)
		{
			if(r[i]-l[i]>max)
			{
				max=r[i]-l[i];
			}
		}
		for(i=0;i<n-1;i++)
		{
			if(l[i]+max>l[i+1])//是下一个左,不是右
			{
				flag=0;
			}
		}
		if(flag==1)
		{
			printf("YES\n");
		}
		else if(flag==0)
		{
			printf("NO\n");
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 6