Find if the Vacation can be taken or not
Last Updated :
07 Dec, 2022
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:
- Find the required number of hours of study by multiplying S, C and H.
required number of hours of study = S * C * H
- 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
- 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++
#include <bits/stdc++.h>
using namespace std;
int isPossible( int N, int S, int C, int H,
int L, int T)
{
int total_time_required = S * C * H;
int available_time_after_vacation = (N - L) * T;
if (available_time_after_vacation
>= total_time_required)
return 1;
return 0;
}
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
class GFG
{
static int isPossible( int N, int S, int C, int H,
int L, int T)
{
int total_time_required = S * C * H;
int available_time_after_vacation = (N - L) * T;
if (available_time_after_vacation
>= total_time_required)
return 1 ;
return 0 ;
}
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" );
}
}
|
Python3
def isPossible(N, S, C, H, L, T):
total_time_required = S * C * H
available_time_after_vacation = (N - L) * T
if (available_time_after_vacation > = total_time_required):
return 1
return 0
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" )
|
C#
using System;
class GFG
{
static int isPossible( int N, int S, int C, int H,
int L, int T)
{
int total_time_required = S * C * H;
int available_time_after_vacation = (N - L) * T;
if (available_time_after_vacation
>= total_time_required)
return 1;
return 0;
}
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" );
}
}
|
Javascript
function isPossible(N, S, C, H, L, T)
{
let total_time_required = S * C * H;
let available_time_after_vacation = (N - L) * T;
if (available_time_after_vacation
>= total_time_required)
return 1;
return 0;
}
let N = 12, S = 5, C = 8, H = 3, L = 2, T = 20;
if (isPossible(N, S, C, H, L, T))
console.log( "Yes" );
else
console.log( "No" );
N = 1, S = 2, C = 3, H = 4, L = 5, T = 6;
if (isPossible(N, S, C, H, L, T))
console.log( "Yes" );
else
console.log( "No" );
|
Time complexity: O(1) as constant operations are being performed
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...