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,…,pn−1}\{p_0, \dots, p_{n-1}\} amb coordenades enteres pi=(xi,yi)p_i = (x_i, y_i), cal calcular ∑0≤i<j<nd∞(pi,pj),\sum_{0 \le i < j < n} d_{\infty}(p_i, p_j) , on d∞(pi,pj)=max⁡(|xi−xj|,|yi−yj|)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 2≤n≤1042 \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 Θ(nlog⁡n)\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++