Pagini recente » Cod sursa (job #467099) | Cod sursa (job #1727157) | Cod sursa (job #2544947) | Cod sursa (job #1875815) | Cod sursa (job #3205503)
#include <fstream>
using namespace std;
#define int long long
ifstream in("litere.in");
ofstream out("litere.out");
int n;
int v[10005];
int a[50];
string s;
void update(int p)
{
for(int i = p; i<=26; i+=(i&-i))
{
a[i]++;
}
}
int query(int p)
{
int suma = 0;
for(int i = p; i>=1; i-=(i&-i))
{
suma += a[i];
}
return suma;
}
signed main()
{
in>>n;
in>>s;
for(int i = 0; i<n; i++)
{
v[i+1] = s[i] - 'a' + 1;
}
int ans = 0;
for(int i = 1; i<=n; i++)
{
ans += (i - 1) - query(v[i]);
update(v[i]);
}
out<<ans;
return 0;
}