O Encontrar un valor establecido

# Significado del título
dado una secuencia de longitud n, A, un número de diferentes. Para cada número Ai A en la búsqueda de:
min1≤j <I | Ai - Aj |
fórmula para tomar un valor mínimo j (denotado como Pi) y así sucesivamente. Si el punto mínimo no es única, Aj elegir el más pequeño.

# Solución a un problema
con el conjunto interno está configurado como un árbol binario equilibrado, cada inserto permanecen ordenada,
porque primero diferencia de valor absoluto es mínimo, entonces se toma en el frente, por lo que la parte posterior de la primera recuento,
a continuación, determinar si los valores son los mismos que o menos actualizado frente de

1 #include <. Bits / STDC ++ h>
 2  #define par pii <int, int>
 3  #define fi primera
 4  #define SE segundo
 5  usando  espacio de nombres std;
6  set <pii> s;
7  int main () {
 8     int n, a;
9     cin >> n >> a;
10     s.insert ({a, 1 });
11     para ( int i = 2 ; i <= n; i ++ ) {
 12        int x;
13        cin >> X;
14       s.insert ({X, I});
 15        Auto IT = s.find ({X, I});
 16        ANS PII;
 . 17        ans.fi = INT_MAX; // para determinar cuando sólo un elemento 
18 es        Auto it_ = ; TI
 . 19        IF (! = s.end it_ ++ ()) // SET no apunta a uno de los elementos finales, una señal, si x está actualmente ninguna demostrado final sucesor 
20 es           ANS TI = {_-> Fi - x, _- TI> sE};
 21 es        SI (TI - - = s.begin () && ans.fi> X = IT-> Fi!) // esto no es el primero en demostrar su frontal más pequeño que 
22 es           ANS = {X - IT> Fi, IT-> sE};
 23 es        COUT ans.fi << << '  ' << ans.se << endl;
24    }
 25 }

 

Supongo que te gusta

Origin www.cnblogs.com/hhyx/p/12446206.html
Recomendado
Clasificación