Submission

Status:

PPPPP

Subtask/Task Score:

100/100

Score: 100

User: theem1502

Problemset: หินงอก

Language: c

Time: 0.001 second

Submitted On: 2025-09-09 16:52:05

#include <stdio.h>
#include <stdlib.h>
int main() {
    int num;
    scanf("%d", &num);
    int *thearray = malloc(num * sizeof(int));
    for (int i = 0; i < num ; i++) {
        scanf("%d", &thearray[i]);
    }
    int maxdepth = 0;
    for (int i = 0; i < num; i++) {
        if (thearray[i] > maxdepth) {
            maxdepth = thearray[i];
        }
    }
    int thesum = 0;
    for (int i = 0; i < num; i++) {
        thesum += thearray[i];
    }
    char **thegiant = malloc(maxdepth * sizeof(char*));

    for (int i = 0; i < maxdepth; i++) {
        thegiant[i] = malloc((thesum*2) * sizeof(char));
    }

    for (int i = 0; i < maxdepth; i++) {
        for (int j = 0; j < thesum * 2; j++) {
            thegiant[i][j] = ' ';
        }
    }

    
    int startingindex = 0;
    for (int i = 0; i < num; i++) {
        int currentnum = thearray[i];
        int randomcount = 0;
        for (int j = startingindex; j < currentnum+startingindex; j++) {

            thegiant[randomcount++][j] = '\\';

        }
        for (int j = startingindex + currentnum; j < (2 * currentnum) + startingindex; j++) {
            thegiant[--randomcount][j] = '/';

        }


    

    startingindex += thearray[i] * 2;
    }

    for (int k = 0; k < maxdepth; k++) {
        for (int j = 0; j < thesum * 2; j++) {
            printf("%c", thegiant[k][j]);
        }
        printf("\n");
    }
}