/DOANP2 - Chiều dài phủ

<Problem>

http://ntucoder.net/Problem/Details/3333
              Uses Crt;
        Type    arr=array[0..100000] of longint;
        Var     Goc,Ngon:arr;
                so_luong,i,tong:longint;
        Procedure Qsort(var a:arr; left,right:longint);
        var     i,j,giua,trung_gian:longint;
        begin
                i:=left;
                j:=right;
                giua:=a[(left+right) div 2];
                repeat
                        while (a[i]<giua) do inc(i);
                        while (a[j]>giua) do dec(j);
                        if i<=j then
                        begin
                                trung_gian:=a[i];
                                a[i]:=a[j];
                                a[j]:=trung_gian;
                                inc(i);
                                dec(j);
                        end;
                until i>j;
                if (j>left) then Qsort(a,left,j);
                if (i<right) then Qsort(a,i,right);
        end;
        Begin
                readln(so_luong);
                for i:=1 to so_luong do read(goc[i],ngon[i]);
        
                Qsort(goc,1,so_luong);
                Qsort(ngon,1,so_luong);
                ngon[0]:=0;
                tong:=0;
        
        
                for i:=1 to so_luong do
                begin
                        if (goc[i]>=ngon[i-1]) then
                                tong:=tong+(ngon[i]-goc[i])
                        else
                        if (goc[i]<=ngon[i-1]) then
                                tong:=tong+(ngon[i]-ngon[i-1]);
        
                end;
                writeln(tong);
        End.