Cod sursa(job #236333)
| Utilizator | Data | 27 decembrie 2008 11:29:53 | |
|---|---|---|---|
| Problema | Litere | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("litere.in","r"),*g=fopen("litere.out","w");
int a[10001];
int main()
{
int n,i,j,op=0;
char c[10001];
int t=1,ul;
fscanf(f,"%d %s",&n,&c);
ul=n-1;
for(i=122;i>=97;i--)
{
for(j=0;j<ul;j++)
{
if((int)c[j]==i)
{
while(c[j]<c[ul])
ul--,op++;
a[ul]+=ul-j;
char aux=c[j];
c[j]=c[ul];
c[ul]=aux;
ul--;
}
}
}
for(i=0;i<n;i++)
op+=a[i];
fprintf(g,"%d\n",op);
return 0;
}