Cod sursa(job #2433453)

Utilizator Ionut28Porumb Palincas Ionut Ionut28 Data 27 iunie 2019 14:42:17
Problema Litere Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("litere.in");
ofstream fout("litere.out");
const int nmax = 10001;
char s[nmax];
int sol, n;
void read()
{
    fin >> n;
    fin.get();
    fin.getline(s, nmax);
    fin.close();
}
void quick_sort(int st, int dr)
{
    if(st < dr)
    {
        int m = (st + dr) / 2;
        swap(s[st], s[m]);
        int i = st, j = dr, d = 0;
        while(i < j)
        {
            if(s[i] > s[j])
            {
                swap(s[i], s[j]);
                d = 1 - d;
            }
            i += d;
            j -= 1 - d;
            sol++;
        }
        quick_sort(st, i - 1);
        quick_sort(i + 1, dr);
    }
}
int main()
{
    read();
    quick_sort(0, n - 1);
    fout << sol - 2<< "\n";
     return 0;
}