Pagini recente » Cod sursa (job #415094) | Cod sursa (job #534428) | Cod sursa (job #2034102) | Cod sursa (job #2310414) | Cod sursa (job #1213543)
#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;
}