Cod sursa(job #325445)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 20 iunie 2009 15:51:25
Problema Litere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;

char a[10000];
int sor[10000],k,i,j,nr;

struct buck
{ int s[10001];
} b[40];

int main()
{ 
    freopen("litere.in","r",stdin);
    freopen("litere.out","w",stdout);
    
    scanf("%s",a+1);
    k=strlen(a+1);
    for(i=k;i>=1;--i) b[a[i]-96].s[++b[a[i]-96].s[0]]=i;
    for(i=1;i<40;i++) if(b[i].s[0]) for(j=b[i].s[0];j>=1;--j) sor[++nr]=b[i].s[j];
    nr=0;
    for(i=1;i<=k;i++) {nr+=sor[i]-i;
                       for(j=i+1;j<=k;j++) if(sor[j]<sor[i]) sor[j]++;
                       }
     printf("%d\n",nr);                       
    fclose(stdin);
    fclose(stdout);
    return 0;
}