Skip to content
Related Articles

Related Articles

GATE | GATE-CS-2003 | Question 64

View Discussion
Improve Article
Save Article
  • Difficulty Level : Hard
  • Last Updated : 28 Jun, 2021

Let S be a stack of size n ≥ 1. Starting with the empty stack, suppose we push the first n natural numbers in sequence, and then perform n pop operations. Assume that Push and pop operation take X seconds each, and Y seconds elapse between the end of one such stack operation and the start of the next operation. For m ≥ 1, define the stack-life of m as the time elapsed from the end of Push(m) to the start of the pop operation that removes m from S. The average stack-life of an element of this stack is
(A) n (X + Y)
(B) 3Y + 2X
(C) n (X + Y) – X
(D) Y + 2X

Answer: (C)

Explanation: Background required – Stack and Basic Maths

Let Tn be time span of nth element of stack. Let us first find out the sum of Tn for n = 1 to n

Stack Lifetime of last element, Tn = Y (Since it is popped as soon 
                                        as it is pushed on the stack)

Stack Lifetime of last element, Tn-1 = Tn  + 2X + 2Y 
                                       (The time needed to push and then
                                        pop nth element plus two pauses Y each).
                        = 2X + 3Y 

Stack Lifetime of last element, Tn-2 = Tn-1  + 2X + 2Y (Using the Same reasoning above)
                        = 4X + 5Y
Stack Lifetime of 1st element = 2(n-1)X + (2n-1)Y    (Generalizing the pattern)

Sum of all the time spans of all the elements = (Σ 2(n-1)X) + (Σ (2n-1)Y) 
                                                                   for n = 1 to n

= 2X(1 + 2 + . . . + n-1) + Y(1 + 3 + 5 + . . . + (2n-1))

Using 2 identities

  • Sum of n natural numbers = (n*(n+1))/2 for the first summation
  • Sn = (n/2)(a+l) Sum of AP series with a as first term and l being last for second summation

Above sum is,

= (2X(n-1)n)/2 + Y(n/2)*(1 + 2n-1)

= n(n(X+Y)-X)

Therefore Average = Sum/n = n(X+Y)-X . Hence Option (c)

This explanation has been contributed by Pranjul Ahuja.

Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!