Cod sursa(job #1081586)

Utilizator andi12Draghici Andrei andi12 Data 13 ianuarie 2014 18:57:39
Problema Litere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <cstdio>

using namespace std;
char v[10001];
char lit[30];
int main()
{
    FILE *in,*out;
    in=fopen("litere.in","r");
    out=fopen("litere.out","w");
    int n,i,j,ci,k;
    long long cate,acum,sum;
    char c,save;
    fscanf(in,"%d",&n);
    for(i=0;i<=n;i++)
    {
        v[i]=fgetc(in);
        lit[v[i]-96]++;
    }
    sum=0;
    ci=1;
    for(i=1;i<=29;i++)
    {
        if(lit[i]!=0)
        {
            cate=0;
            acum=0;
            for(j=1;j<=n;j++)
            {
                if(v[j]==i+96)
                {
                    acum=j-ci;
                    sum=sum+acum;
                    save=v[j];
                    for(k=j;k>ci;k--)
                    {
                        v[k]=v[k-1];
                    }
                    if(acum!=0)
                        v[ci]=save;
                    cate++;
                    ci++;
                }
            }
        }
    }
    fprintf(out,"%lld",sum);
    return 0;
}