Ordenando
Submit solution
Points:
100 (partial)
Time limit:
2.0s
Memory limit:
256M
Author:
Problem types
Allowed languages
C++
Dada una lista de números, que contiene los números en algún orden.
Determine si es posible ordenar la lista de menor a mayor, realizando la siguiente operación cualquier número de veces (es posible no realizar ninguna operación):
- Seleccionar dos enteros tal que , intercambiar los valores en las posiciones y , e intercambiar los valores en las posiciones y .
Por ejemplo, la lista puede ser ordenada usando dos operaciones:
- Seleccionar y , la nueva lista obtenida luego de intercambiar los valores sería .
- Seleccionar y , la nueva lista obtenida luego de intercambiar los valores sería .
Subtareas
- Subtarea 1 (22 puntos): , .
- Subtarea 2 (34 puntos): , .
- Subtarea 3 (44 puntos): , .
Entrada
La primera línea contiene un entero : el número de casos de prueba.
Le siguen líneas que describen cada caso de prueba. La primera línea de cada caso de prueba contiene un entero y la segunda describe el contenido de la lista.
Salida
Por cada caso imprime "YES" si la lista puede ser ordenada, de lo contrario imprime "NO".
Ejemplos
Entrada 1
3
2
1 2
5
2 3 5 1 4
4
1 2 4 3
Salida 1
YES
YES
NO
Comments