Stock Span Problem

Hard Stack: Applications PRO
🔒 Login to Unlock

Problem Statement

Write a C program to calculate the stock span for each day given daily stock prices, using a stack.

Input Format

First line contains n. Second line contains n daily prices.

Output Format

Print the span values for each day separated by spaces.

Constraints

1 <= n <= 50

Sample Input

7
100 80 60 70 60 75 85

Sample Output

1 1 1 2 1 4 6

Explanation

The span of stock's price on a given day is defined as the maximum number of consecutive days just before the given day, for which the price of the stock on the current day is less than or equal to its price on the given day. Use a monotonic stack.

Starter Code

#include <stdio.h>
#include <stdlib.h>

int main() {
    int n;
    if (scanf("%d", &n) == 1) {
        // Write your code here to calculate stock span using stack
    }
    return 0;
}

Limits

  • Time Limit: 1s
  • Memory Limit: 256MB

Embedded C Programming

Updated: March 15, 2026
Intermediate

Embedded systems rely on efficient low-level programming to interact directly with hardware. In this course, you will learn how to write practical Embedded C programs used in real microcontroller-based systems. Rather than focusing only on theory, this course follows a practice-driven approach. Each lesson includes hands-on coding exercises that simulate real firmware development tasks used