# Find if neat arrangement of cups and shelves can be made

Given three different types of cups (a[]) and saucers (b[]), and n number of shelves, find if neat arrangement of cups and shelves can be made.
Arrangement of the cups and saucers will be neat if it follows the below rules:

• No shelf can contain both cups and saucers
• There can be no more than 5 cups in any shelf
• There can be no more than 10 saucers in any shelf

Examples:

Input : a[] = {3, 2, 6}
b[] = {4, 8, 9}
n = 10
Output : Yes
Explanation :
Total cups = 11, shelves required = 3
Total saucers = 21, shelves required = 3
Total required shelves = 3 + 3 = 6,
which is less than given number of
shelves n. So, output is Yes.

Input : a[] = {4, 7, 4}
b[] = {3, 9, 10}
n = 2
Output : No


## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach : To arrange the cups and the saucers, find out the total number of cups and total number of saucers . Since, there cannot be more than 5 cups in the same shelf, therefore find out the maximum number of shelves required for cup by the formula and the maximum number of shelves required for saucers by using the formula . If sum of these two values is equal to or less than then the arrangement is possible
otherwise not.

Below is the implementation of above approach :

## C++

 // C++ code to find if neat   // arrangement of cups and   // shelves can be made  #include  using namespace std;     // Function to check arrangement  void canArrange(int a[], int b[], int n)  {      int suma = 0, sumb = 0;             // Calculating total number      // of cups      for(int i = 0; i < 3; i++)          suma += a[i];                 // Calculating total number      // of saucers      for(int i = 0; i < 3; i++)          sumb += b[i];                 // Adding 5 and 10 so that if the      // total sum is less than 5 and      // 10 then we can get 1 as the      // answer and not 0      int na = (suma + 5 - 1) / 5;      int nb = (sumb + 10 - 1) / 10;             if(na + nb <= n)          cout << "Yes";      else          cout << "No";  }     // Driver code  int main()  {      // Number of cups of each type      int a[] = {3, 2, 6};             // Number of saucers of each type      int b[] = {4, 8, 9};             // Number of shelves      int n = 10;             // Calling function      canArrange(a, b, n);      return 0;  }

## Java

 // Java code to find if neat   // arrangement of cups and   // shelves can be made  import java.io.*;     class Gfg  {      // Function to check arrangement      public static void canArrange(int a[], int b[],                                             int n)      {          int suma = 0, sumb = 0;                     // Calculating total number          // of cups          for(int i = 0; i < 3; i++)              suma += a[i];                         // Calculating total number          // of saucers          for(int i = 0; i < 3; i++)              sumb += b[i];                         // Adding 5 and 10 so that if          // the total sum is less than          // 5 and 10 then we can get 1           // as the answer and not 0          int na = (suma + 5 - 1) / 5;          int nb = (sumb + 10 - 1) / 10;                     if(na + nb <= n)              System.out.println("Yes");          else             System.out.println("No");      }             // Driver function      public static void main(String args[])      {          // Number of cups of each type          int a[] = {3, 2, 6};                     // Number of saucers of each type          int b[] = {4, 8, 9};                     // Number of shelves          int n = 10;                     // Calling function          canArrange(a, b, n);      }  }

## Python 3

 # Python code to find if neat   # arrangement of cups and   # shelves can be made     import math     # Function to check arrangement  def canArrange( a, b, n):          suma = 0         sumb = 0                    # Calculating total number          # of cups          for i in range(0, len(a)):              suma += a[i]                         # Calculating total number          # of saucers          for i in range(0,len(b)):              sumb += b[i]                         # Adding 5 and 10 so that if          # the total sum is less than          # 5 and 10 then we can get 1           # as the answer and not 0          na = (suma + 5 - 1) / 5         nb = (sumb + 10 - 1) / 10                    if(na + nb <= n):              print("Yes")          else:              print("No")             # driver function     #Number of cups of each type  a = [3, 2, 6]     # Number of saucers of each type  b = [4, 8, 9]     # Number of shelves  n = 10    #Calling function  canArrange(a ,b ,n)        # This code is contributed by Gitanjali.

## C#

 // C# code to find if neat   // arrangement of cups and   // shelves can be made  using System;     class Gfg {             // Function to check arrangement      public static void canArrange(int []a, int []b,                                          int n)      {                     int suma = 0, sumb = 0;                     // Calculating total number          // of cups          for(int i = 0; i < 3; i++)              suma += a[i];                         // Calculating total number          // of saucers          for(int i = 0; i < 3; i++)              sumb += b[i];                         // Adding 5 and 10 so that if          // the total sum is less than          // 5 and 10 then we can get 1           // as the answer and not 0          int na = (suma + 5 - 1) / 5;          int nb = (sumb + 10 - 1) / 10;                     if(na + nb <= n)              Console.WriteLine("Yes");          else             Console.WriteLine("No");      }             // Driver function      public static void Main()      {                     // Number of cups of each type          int []a = {3, 2, 6};                     // Number of saucers of each type          int []b = {4, 8, 9};                     // Number of shelves          int n = 10;                     // Calling function          canArrange(a, b, n);      }  }     // This code is contributed by vt_m.

## PHP

 

Output:

Yes


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : vt_m, mohamedA7maa