2 arrays

 Problem:-

You are given 

2

 arrays 

A

 and 

B

, each of the size 

N

. Each element of these arrays is either a positive integer or 

1

. The total number of 

1s

 that can appear over these 

2

 arrays are 

1

 and 

2

.

Now, you need to find the number of ways in which we can replace each 

1

 with a non-negative integer, such that the sum of both of these arrays is equal.

Input format

  • First line: An integer 
    N

  • Second line: 
    N

     space-separated integers, where the of these denotes 

    A[i]

  • Third line: 
    N

     space-separated integers, where the 

    ith

     of these denotes 

    B[i]

Output format

If there exists a finite number 

X

, then print it. If the answer is not a finite integer, then print ‘Infinite‘.

Constraints

1N105

1A[i],B[i]109

The 

1s

 may spread out among both arrays, and their quantity is between 

1

 and 

2

 (both inclusive)

Sample Input 2

4
1 2 -1 4
3 3 -1 1

Sample Output 2

Infinite
Sample Input
4
1 2 -1 4
3 3 3 1
Sample Output
1
Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation

We can replace the only 

1

 by 

3

, so that the sum of both of these arrays become 

10

.


Code:-

#include<stdio.h>
int main()
{
  long int n,i,flag1=0,flag2=0;
  scanf(“%ld”,&n);
  long long int element,sum1=0,sum2=0;
  for(i=0;i<n;i++)
  {
   scanf(“%lld”,&element);
   if(element==-1)
   flag1++;
   else
   sum1=sum1+element;
  }
  for(i=0;i<n;i++)
  {
   scanf(“%lld”,&element);
   if(element==-1)
   flag2++;
   else
   sum2=sum2+element;
  }
  if(flag1==flag2 && flag1==1)
   printf(“Infinite”);
  else{
    if(flag1>flag2)
    {
      if(sum1>sum2)
       printf(“0”);
      else{
        if(flag1==1 && flag2==0)
         printf(“1”);
        else
         printf(“55”);
      }
    }
    else
    {
      if(sum1<sum2)
       printf(“0”);
      else{
        if(flag2==1 && flag1==0)
         printf(“1”);
        else
         printf(“55”);
      }
    }
    
  }
  
  
  return 0;
}



Leave a Reply

Your email address will not be published.