FastPrepAmazon Execute Processes (a.k.a. AWS Processor)

Amazon Execute Processes (a.k.a. AWS Processor)

Amazon logoAmazon● MediumFULLTIMEOA
Learn

Problem statement

Amazon Web Services (AWS) has several processors for executing processes scheduled on its servers.

There are n processes to be executed, where the ith process takes execution[i] amount of time to execute. Two processes are cohesive if and only if their original execution times are equal. When a process with execution time execution[i] is executed, it takes execution[i] time to complete and simultaneously reduces the execution time of all its cohesive processes to ceil(execution[i] / 2).

Given the execution time of n processes, find the total amount of time the processor takes to execute all the processes if you execute the processes in the given order, i.e. from left to right.

Notes

  • The ceil() function returns the smallest integer that is bigger or equal to its argument. For example, ceil(1.1) = 2, ceil(2.5) = 3, ceil(5) = 5, etc.
  • If the execution time of some process i is reduced and becomes equal to the execution time of any other process j, then the two processes i and j are not considered cohesive.

Complete the function totalExecutionTime in the editor.

totalExecutionTime has the following parameter:

  • int execution[n]: an array of integers representing the execution times
  • int: the total amount of time to execute all processes

Function

totalExecutionTime(execution: int[]) → int

Examples

Example 1

execution = [5, 5, 3, 6, 5, 3]return = 21
Example 1 illustration

processes 1, 2, 5 are cohesive processes 3, 6 are cohesive process 4 is cohesive Excuting Process 1 results in [0, 3, 3, 6, 3, 3] // total_execution = 5 Excuting Process 2 results in [0, 0, 3, 6, 2, 3] // total_execution = 8 Excuting Process 3 results in [0, 0, 0, 6, 2, 2] // total_execution = 11 Excuting Process 4 results in [0, 0, 0, 0, 2, 2] // total_execution = 17 Excuting Process 5 results in [0, 0, 0, 0, 0, 2] // total_execution = 19 Excuting Process 6 results in [0, 0, 0, 0, 0, 0] // total_execution = 21 Hence, total excution time is 21.

Constraints

  • Unknown for now 🐰

More Amazon problems

See Amazon hiring insights
public int totalExecutionTime(int[] execution) {
  // write your code here
}
execution[5, 5, 3, 6, 5, 3]
expected21
Checking account…