Cod sursa(job #115238)

Utilizator savimSerban Andrei Stan savim Data 16 decembrie 2007 11:46:50
Problema Litere Scor 40
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasele 5-8 Marime 0.84 kb
var i,j,k,n,cost:longint;
    a:array['a'..'z',1..10000] of integer;
    ind:array['a'..'z'] of integer;
    c,d:char;
    f1,f2:text;
begin
    assign(f1,'litere.in');
    assign(f2,'litere.out');
    reset(f1);
    rewrite(f2);

    readln(f1,n);
    for i:=1 to n do
    begin
        read(f1,c);
        ind[c]:=ind[c]+1;
        a[c][ind[c]]:=i;
    end;

    k:=0;cost:=0;
    for c:='a' to 'z' do
        for i:=1 to ind[c] do
        begin
            inc(k);
            if (a[c][i]>k) then
            begin
                cost:=cost+a[c][i]-k;
                for d:=char(ord(c)+1) to 'z' do
                    for j:=1 to ind[d] do
                    if a[d][j]<a[c][i] then a[d][j]:=a[d][j]+1
                    else break;
            end;
        end;

    writeln(f2,cost);
    close(f1);
    close(f2);
end.