Help me in solving DAA014 problem

My issue

solve the code

My code

#include <stdio.h>

void partition(int a[], int size_a) {
    int pivot = a[size_a - 1];
    int idx = 0;
    for (int i = 0; i < size_a; i++) {
        if (a[i] <= pivot) {
            int temp = a[idx];
            a[idx] = a[i];
            a[i] = temp;
            idx++;
        }
    }
    int temp = a[idx];
    a[idx] = a[size_a - 1];
    a[size_a - 1] = temp;
}

int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    partition(a, n);
    for (int i = 0; i < n; i++) {
        printf("%d ", a[i]); // Add a space after each number
    }
    printf("\n");
    return 0;
}

Learning course: Analysis and Design of Algorithms
Problem Link: Inversion Count in Analysis and Design of Algorithms