Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1776598) | Diferente pentru utilizator/djok intre reviziile 87 si 86 | Cod sursa (job #755540)
Cod sursa(job #755540)
#include<cstdio>
#include<cstring>
using namespace std;
char v[10001],aux[10001];int s;
void sortare(int l,int r)
{
if(l==r)return;
int m=(l+r)>>1,i=l,j=m+1,k=l;
sortare(l,m);sortare(m+1,r);
while(i<=m||j<=r)
if((v[i]<v[j]&&i<=m)||j>r)
aux[k++]=v[i++];
else
aux[k++]=v[j++];
for(s+=r-l;l<=r;l++)
v[l]=aux[l];
}
int main()
{
freopen("litere.in","r",stdin);freopen("litere.out","w",stdout);
int n;
scanf("%d%s",&n,v);strcpy(v+1,v);sortare(1,n);printf("%d",s-1);
}