Suma de tres

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 12
Dificultad Medio Algoritmos
Mostrar (3) ArreglosDos punterosOrdenamiento
Enviar solución

Puntos: 10

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Encuentra todos los tríos de valores \((x, y, z)\) que suman \(0\) y que se pueden formar con tres elementos de posiciones distintas del arreglo. No repitas tríos: dos tríos con los mismos valores cuentan una sola vez.

Entrada

La primera línea tiene \(n\) \((3 \le n \le 2000)\) y la segunda los \(n\) enteros \((|a_i| \le 10^5)\).

Salida

En la primera línea, la cantidad de tríos distintos. Luego, un trío por línea con sus valores en orden creciente, y los tríos en orden lexicográfico.

Ejemplo 1

Entrada

6
-1 0 1 2 -1 -4

Salida

2
-1 -1 2
-1 0 1

Ejemplo 2

Entrada

3
0 1 1

Salida

0

Ejemplo 3

Entrada

3
0 0 0

Salida

1
0 0 0

Basado en el problema 15 de LeetCode, 3Sum, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.