Distància infinit P86818


Statement
 

pdf   zip

El club de “Paseíllos extremos FME” és conegut per haver arribat des de Barcelona fins a Terrassa, Montserrat i Mataró en un sol dia (o una sola nit). El seu gran objectiu és anar caminant fins a França, on volen visitar nn llocs d’interès. Durant la passejada debaten com de dispersos estan aquests llocs entre si, i decideixen que una bona mètrica seria calcular la distància infinit entre cada parell de llocs. Podeu ajudar-los?

Formalment: Donats nn punts {p0,,pn1}\{p_0, \dots, p_{n-1}\} amb coordenades enteres pi=(xi,yi)p_i = (x_i, y_i), cal calcular 0i<j<nd(pi,pj),\sum_{0 \le i < j < n} d_{\infty}(p_i, p_j) , on d(pi,pj)=max(|xixj|,|yiyj|)d_{\infty}(p_i, p_j) = \max(\vert x_i - x_j \vert, \vert y_i - y_j \vert).

Entrada

L’entrada consisteix en diversos casos, cadascun amb nn seguida dels nn punts, tots diferents i amb coordenades entre 0 i 10910^9. Podeu suposar 2n1042 \le n \le 10^4.

Sortida

Per a cada cas, escriviu la suma de les distàncies infinit entre tots els parells de punts.

Pista

La solució esperada té cost Θ(nlogn)\Theta(n \log n) amb una constant força baixa.

Public test cases
  • Input

    2
    2 3
    4 10
    
    4
    0 0
    0 1
    1 0
    1 1
    
    3
    1000000000 1000000000
    0 1000000000
    1000000000 0
    
    

    Output

    7
    6
    3000000000
    
  • Information
    Author
    Manuel Torres
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++