Cod sursa(job #1604582)

Utilizator DeehoroEjkoliPop Darian DeehoroEjkoli Data 18 februarie 2016 13:35:52
Problema Litere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <algorithm>
#define nmax 10005
using namespace std;
ifstream fin("litere.in");
ofstream fout("litere.out");

int n;
char c[nmax], sorted[nmax];

void main_code() {
    int numbering = 0;
    for (int i = 1; i <= n; ++i) {
        if (c[i] != sorted[i])
            for (int srch = i + 1; srch <= n; ++srch)
                if (sorted[i] == c[srch]) {
                    numbering += srch - i;
                    for (int j = srch; j >= i + 1; --j)
                        c[j] = c[j - 1];
                    c[i] = sorted[i];
                    break;
                }
    }
    fout << numbering;
}

void read_input() {
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> c[i];
        sorted[i] = c[i];
    }
    sort(sorted + 1, sorted + n + 1);
    main_code();
}

int main()
{
    read_input();
    return 0;
}