Sheldon Cooper and his beverage paradigm - Code Vita 2014 | round 1

Sheldon Cooper and his beverage paradigm

Sheldon Cooper, Leonard Hofstadter and Penny decide to go for drinks at Cheese cake factory. Sheldon proposes to make a game out of this. Sheldon proposes as follows, 
  • To decide the amount of beverage they plan to consume, say X.
  • Then order for a random number of different drinks, say {A, B, C, D, E, F} of quantities {a, b, c, d, e, f} respectively.
  • If quantity of any three drinks add up to X then we'll have it else we'll return the order.
    E.g. If a + d + f = X then True else False
You are given
  1. Number of bottles N corresponding to different beverages and hence their sizes
  2. Next N lines, contain a positive integer corresponding to the size of the beverage
  3. Last line consists of an integer value, denoted by X above
Your task is to help find out if there can be any combination of three beverage sizes that can sum up to the quantity they intend to consume. If such a combination is possible print True else False
Input Format: 
  1. First line contains number of bottles ordered denoted by N
  2. Next N lines, contains a positive integer Ai, the size of the ith bottle
  3. Last line contains the quantity they intend to consume denoted by X in text above
Output Format:
True, if combination is possible
False, if combination is not possible
Constraints:
N >= 3
Ai > 0 
1 <= i <= N
X > 0 
Sample Input and Output:


SNo.InputOutput
16
1
4
45
6
10
8
22

True
24
1
3
12
4
14

False

Program:

#include <stdio.h>
int main() {
int n,i,a[100],t,s,sum=0,f,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&s);
for(i=0;i<n;i++)
{
    for(j=i;j<=n;j++)
        {
          if(a[i]<a[j])
          {
              t=a[i];
              a[i]=a[j];
              a[j]=t;
          }
        }   
}
    for(i=0;i<n;i++)
    {
        sum=sum+a[i];
        if(sum==s)
        {
            printf("True");
            f=1;
            goto x;
        }
        else 
        {
            if(sum>s)
            sum=sum-a[i];
        }
    }
    if(f==0)
    printf("False");
    x:  return 0;  
    }

Output:

6
1
4
45
6
10
8
22
True

4
1
3
12
4
14
False

You can also run it on online IDE: https://ide.geeksforgeeks.org/hsuixPLs8U
Your feedback are most Welcomed! If you have any doubts you can contact me or leave it in the comment!! Cheers!!!

Related Links: Collecting Candies

2 comments:

Super Market Problem | TCS Code Vita 2023 - Zone 1 | Super Market TCS Code Vita 2023 Solution | Code Vita 2023 | Code Vita 2023 season 11 solution

 Problem Description: In a Super market we will find many variations of the same product. In the same way we can find many types of rice bag...