Cod sursa(job #1213543)

Utilizator hopingsteamMatraguna Mihai-Alexandru hopingsteam Data 28 iulie 2014 14:05:31
Problema Litere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include    <fstream>
#include    <cstring>

#define NMAX 10005

using namespace std;

ifstream fin("litere.in");
ofstream fout("litere.out");


int n,sumepart[NMAX],aux[NMAX];
char s[NMAX],cas[NMAX];
long long sum;

void read()
{
    int nr,pozstart=1,deja=0;
    fin>>n;
    fin>>(s+1);
    strcpy((cas+1),(s+1));
    for(char c = 'a'; c <= 'z'; c++)
    {
        nr = 0;
        for(int i = 1; i <= n; i++)
        {
            if(cas[i] == c)
            {
                nr += 1;
                deja += 1;
                sum += i - deja;
            }
        }
        for(int i = pozstart; i <= pozstart + nr - 1; i++)
            cas[i] = c;
        pozstart += nr;
        nr = pozstart;
        for(int i = 1; i <= n; i++)
            if(s[i] > c)
                cas[nr++] = s[i];
    }
    fout << sum <<"\n";
}
int main()
{
    read();
    return 0;
}