/TIVI2 - Truyền hình 2 (OLPCĐ 2011)

<Problem>

http://ntucoder.net/Problem/Details/66
              Uses Crt;
        Var  n,i,kq,x,y,tg:longint; a,b:array[1..100000] of longint;
        Procedure Swap(var a,b:longint);
        var tg:longint;
        begin
            tg:=a; a:=b; b:=tg;
        end;
        Procedure Sort(l,r:longint);
        var i,j,x:longint;
        begin
            i:=l; j:=r; x:=a[(l+r) div 2];
            repeat
             while a[i]<x do inc(i); while x<a[j] do dec(j);
             if i<=j then begin Swap(a[i],a[j]); Swap(b[i],b[j]); inc(i); dec(j); end;
            until i>j;
            if l<j then sort(l,j);
            if i<r then sort(i,r);
        end;
        Begin
            readln(n);
            for i:=1 to n do readln(a[i],b[i]);
            Sort(1,n);
            //for i:=1 to n do writeln(a[i],' ',b[i]);
        
            kq:=0;
            for i:=1 to n-1 do  //a[n] khong can phai xet sau khi da sap xep
             begin
                 x:=i+1; y:=n;
                 while x<=y do   //tim kiem chuong trinh gan nhat khong trung voi b[i]
                  begin
                      tg:=(x+y) div 2;
                      if a[tg]<b[i] then x:=tg+1
                       else y:=tg-1;
                  end;
                  //writeln(x);
                 kq:=kq+(x-i-1);
             end;
            writeln(kq);
        ENd.