Count of Inversions - Base 6


 

#include<stdio.h>

#include <stdlib.h>

int main() {

    int n, k, s = 0;

    scanf("%d", & n);

    int a[n];

    for (int i = 0; i < n; i++) {

        scanf("%d,", & k);

        while (k > 0) {

            s += k % 6;

            k /= 6;

        }

        a[i] = s;

        s = 0;

    }

    for (int i = 0; i < n; i++) {

        for (int j = i + 1; j < n; j++)

            s += a[i] > a[j];

    }

    printf("%d ", s);

}

Post a Comment

0 Comments