Header Ads Widget

Binary Sequence

 Problem:-

Given four integers x,y,a and b. Determine if there exists a binary string having x 0's and y 1's such that the total number of subsequences equal to the sequence "01" in it is a and the total number of subsequences equal to the sequence "10" in it is b.

A binary string is a string made of the characters '0' and '1' only.

A sequence a is a subsequence of a sequence b if a can be obtained from b by deletion of several (possibly, zero or all) elements.

Input Format

The first line contains a single integer T (1T105), denoting the number of test cases.

Each of the next T lines contains four integers xya and b ((1x,y105, (0a,b109)), as described in the problem.

Output Format

For each test case, output "Yes'' (without quotes) if a string with given conditions exists and "No'' (without quotes) otherwise.

SAMPLE INPUT
 
3
3 2 4 2
3 3 6 3
3 3 4 3
SAMPLE OUTPUT
 
Yes
Yes
No
Explanation

When x, y, a and b are 3, 2, 4 and 2 respectively, string 00110 is a valid string. So answer is Yes

When x, y, a and b are 3, 3, 4 and 3 respectively, we can't find any valid string. So answer is No.

 

Time Limit:2.0 sec(s) for each input file.
Memory Limit:256 MB
Source Limit:1024 KB

Solution:-

#include<stdio.h>
int main()
{
int i,t;
long long int a[4];
scanf("%d",&t);
for(int i=0;i<t;i++)
{
for(int j=0;j<4;j++)
scanf("%lld",&a[j]);
if(a[0]*a[1]==a[2]+a[3])
printf("Yes\n");
else
printf("No\n");
}
return 0;

}