Skip to content
Related Articles

Related Articles

Find if the Vacation can be taken or not
  • Difficulty Level : Basic
  • Last Updated : 04 Mar, 2020

Given are the following values:

  • N which are the number of days left for the exams.
  • S which are the number of subjects to be prepared for the exam.
  • C which are the number of chapters to be prepared for each subject.
  • H which are the number of hours to prepare a chapter.
  • L which are the number of days of desired vacation. During this vacation, study cannot be done.
  • T which are the number of hours that one can study in a day.

The task is to find if the desired vacation can be taken or not. If it can be obtained, then print Yes, else print No.

Examples:

Input: N = 1, S = 2, C = 3, H = 4, L = 5, T = 6
Output: No
required number of hours of study = S * C * H = 24
hours of study that can be done if the vacation is taken = (N – L) * T = -24
Since available time after vacation < total time required,
Hence vacation cannot be taken.

Input: N = 12, S = 5, C = 8, H = 3, L = 2, T = 20
Output: Yes
required number of hours of study = S * C * H = 120
hours of study that can be done if the vacation is taken = (N – L) * T = 200
Since available time after vacation > total time required,
Hence vacation can be taken.



Approach:

  1. Find the required number of hours of study by multiplying S, C and H.

    required number of hours of study = S * C * H

  2. Now find the hours of study that can be done if the vacation is taken. These hours will be equivalent to the remaining days that we are left with multiplying by T hours(i.e., (N-L)*T).

    hours of study that can be done if the vacation is taken = (N – L) * T

  3. Now check if the required hours are less than or equal to the hours of study that can be done if the vacation is taken. If true, then print Yes, else print No.

    Below is the implementation of the above approach:

    C++




    // C++ program to find
    // if the Vacation can be taken or not
      
    #include <bits/stdc++.h>
    using namespace std;
      
    // Function to find if the Vacation
    // is possible or not
    int isPossible(int N, int S, int C, int H,
                   int L, int T)
    {
      
        // Find the required number of hours of study
        int total_time_required = S * C * H;
      
        // find the hours of study that can be done
        // if the vacation is taken
        int available_time_after_vacation = (N - L) * T;
      
        // check if the required hours are less than
        // or equal to the hours of study
        // that can be done if the vacation is taken
        if (available_time_after_vacation
            >= total_time_required)
            return 1;
        return 0;
    }
      
    // Driver Code
    int main()
    {
        int N = 12, S = 5, C = 8,
            H = 3, L = 2, T = 20;
      
        if (isPossible(N, S, C, H, L, T))
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
      
        N = 1, S = 2, C = 3,
        H = 4, L = 5, T = 6;
      
        if (isPossible(N, S, C, H, L, T))
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
      
        return 0;
    }

    Java




    // Java program to find
    // if the Vacation can be taken or not
    class GFG
    {
      
    // Function to find if the Vacation
    // is possible or not
    static int isPossible(int N, int S, int C, int H,
                           int L, int T)
    {
      
        // Find the required number of hours of study
        int total_time_required = S * C * H;
      
        // find the hours of study that can be done
        // if the vacation is taken
        int available_time_after_vacation = (N - L) * T;
      
        // check if the required hours are less than
        // or equal to the hours of study
        // that can be done if the vacation is taken
        if (available_time_after_vacation
            >= total_time_required)
            return 1;
        return 0;
    }
      
    // Driver Code
    public static void main(String[] args)
    {
        int N = 12, S = 5, C = 8,
            H = 3, L = 2, T = 20;
      
        if (isPossible(N, S, C, H, L, T) == 1)
            System.out.print("Yes" + "\n");
        else
            System.out.print("No" + "\n");
      
        N = 1; S = 2; C = 3;
        H = 4; L = 5; T = 6;
      
        if (isPossible(N, S, C, H, L, T)==1)
            System.out.print("Yes" + "\n");
        else
            System.out.print("No" + "\n");
    }
    }
      
    // This code is contributed by 29AjayKumar

    Python3




    # Python3 program to find
    # if the Vacation can be taken or not
      
    # Function to find if the Vacation
    # is possible or not
    def isPossible(N, S, C, H, L, T):
          
        # Find the required number of hours of study
        total_time_required = S * C * H
          
        # find the hours of study that can be done
        # if the vacation is taken
        available_time_after_vacation = (N - L) * T
          
        # check if the required hours are less than
        # or equal to the hours of study
        # that can be done if the vacation is taken
        if (available_time_after_vacation >= total_time_required):
            return 1
        return 0
      
    # Driver Code
    N = 12
    S = 5
    C = 8
    H = 3
    L = 2
    T = 20
      
    if (isPossible(N, S, C, H, L, T)):
        print("Yes")
    else:
        print("No")
      
    N = 1
    S = 2
    C = 3
    H = 4
    L = 5
    T = 6
      
    if (isPossible(N, S, C, H, L, T)):
        print("Yes")
    else:
        print("No")
              
    # This code is contributed by SHUBHAMSINGH10

    C#




    // C# program to find
    // if the Vacation can be taken or not
    using System;
      
    class GFG
    {
      
    // Function to find if the Vacation
    // is possible or not
    static int isPossible(int N, int S, int C, int H,
                        int L, int T)
    {
      
        // Find the required number of hours of study
        int total_time_required = S * C * H;
      
        // find the hours of study that can be done
        // if the vacation is taken
        int available_time_after_vacation = (N - L) * T;
      
        // check if the required hours are less than
        // or equal to the hours of study
        // that can be done if the vacation is taken
        if (available_time_after_vacation
            >= total_time_required)
            return 1;
        return 0;
    }
      
    // Driver Code
    public static void Main(String[] args)
    {
        int N = 12, S = 5, C = 8,
            H = 3, L = 2, T = 20;
      
        if (isPossible(N, S, C, H, L, T) == 1)
            Console.Write("Yes" + "\n");
        else
            Console.Write("No" + "\n");
      
        N = 1; S = 2; C = 3;
        H = 4; L = 5; T = 6;
      
        if (isPossible(N, S, C, H, L, T)==1)
            Console.Write("Yes" + "\n");
        else
            Console.Write("No" + "\n");
    }
    }
      
    // This code is contributed by 29AjayKumar
    Output:
    Yes
    No
    

    Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

    My Personal Notes arrow_drop_up
Recommended Articles
Page :