Pagini recente » Cod sursa (job #1831462) | Cod sursa (job #2084483) | Cod sursa (job #2424804) | Cod sursa (job #1354334) | Cod sursa (job #112001)
Cod sursa(job #112001)
Utilizator |
Andrei Grigorean wefgef |
Data |
2 decembrie 2007 19:19:50 |
Problema |
Litere |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.62 kb |
#include <cstdio>
#include <cassert>
const int Nmax = 10005;
const int Sigma = 26;
int N;
char s[Nmax];
int Frecventa[Sigma];
int Ret;
void ReadData() {
freopen("grader_test10.in", "r", stdin);
freopen("grader_test10.ok", "w", stdout);
scanf("%d", &N);
assert(1 <= N && N <= 10000);
for (int i = 0; i < N; ++i) {
scanf(" %c ", s+i);
assert('a' <= s[i] && s[i] <= 'z');
}
}
void Solve() {
for (int i = 0; i < N; ++i) {
for (int j = s[i]-'a'+1; j < 26; ++j)
Ret += Frecventa[j];
++Frecventa[s[i]-'a'];
}
printf("%d\n", Ret);
}
int main() {
ReadData();
Solve();
return 0;
}