Timer is Running

High Effort vs Low Effort
Submissions: 13   Accuracy:


  Difficulty: Easy   Marks: 2

You are given n days and for each day (di) you can select one of the following options:

  1. perform no task 
  2. perform a high effort task (hi) only if its the first day or if you chose no-task on the previous day
  3. perform a low effort task (li)

Write a program to find the maximum amount of tasks you can perform within these n days. 

Example 1:

n = 3
hi[] = {2,8,1}
li[] = {1,2,1}
Output: 9
Options on 1st day: hi[0]=8, li[0]=1 or no-task
Select no-task.
Options on 2nd day: hi[1]=8, li[2]=1 or no-task
Select high-effort task as no-task was selected 
the previous day.  
Options on 3rd day: hi[2]=1, li[2]=1 or no-task
Select low-effort task as selecting high-effort 
task is only possible if you chose no-task on 
previous day.

Example 2:

n = 5
hi[] = {3,6,8,7,6}
li[] = {1,5,4,5,3}
Output: 20
Explanation: Perform high-effort task on first 
day and low-effort task on all remaining days.


Your Task:
You don't need to read input or print anything. Your task is to complete the function maxAmt() which accepts an integer n and two arrays li[] and hi[] as input parameter and returns the maximum amount of tasks you can perform within these n days.

Expected Time Complexity: O(n)
Expected Auxiliary Space: O(n)

1 <= n <= 106

** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Sujnesh Mishra
Author: sujnesh

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.

to report an issue on this page.