Intercambios en un arreglo


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 128M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Los azucareros del centro tienen un arreglo A con n elementos enteros positivos. A ellos les gusta el orden, así que quieren que su arreglo esté ordenado. (Un arreglo ordenado es un arreglo que contiene elementos no decrecientes en el orden creciente de sus índices.) Ellos decidieron intercambiar dos elementos en el arreglo para hacerlo ordenado. Un intercambio se define como el intercambio entre dos elementos en posiciones distintas en el arreglo). Su tarea es determinar si esto puede ser hecho.

Si ellos no pueden ordenar el arreglo con un intercambio, imprima -1 . Si el arreglo ya está ordenado imprima 0. Si ellos pueden ordenar el arreglo con un intercambio, imprima 1

Entrada

La primera línea de la entrada contiene un entero n. La segunda línea de la entrada contiene n enteros a_1, a_2 ... ,a_n del arreglo A, separados entre si por espacio en blanco.

Salida

Imprima una línea simple que contenga un entero denotando la respuesta. La respuesta debe ser -1, 0, ó 1 .

Restricciones

  • 1 \le n \le 10^3
  • 1 \le a_i \le 10^9

Ejemplo 1 de Entrada

5
1 10 3 4 3

Ejemplo 1 de Salida

1

Explicación del ejemplo 1: Ya que el arreglo puede ser ordenado con un intercambio simple la respuesta es 1.

Ejemplo 2 de Entrada

5
1 2 2 4 5

Ejemplo 2 de Salida

0

Explicación del ejemplo 2: El arreglo está ordenado, por tanto la respuesta es será un 0.

Ejemplo 3 de Entrada

7
6 2 4 3 5 1 7

Ejemplo 3 de Salida

-1

Explicación del ejemplo 3: Ya que el arreglo no puede ser ordenado por un intercambio, la respuesta es -1.


Comments


  • 0
    Brayan080808  commented on June 1, 2022, 8:31 p.m.

    Los casos de prueba me funcionan bien, pero cuando lo pruebo no me da ni un punto


  • 0
    PedroPabloAB  commented on March 10, 2021, 1:12 a.m.

    Ah ya, OK


  • 0
    PedroPabloAB  commented on March 8, 2021, 10:32 p.m.

    Por qué ponen en los casos de prueba un simple guión -- No ponen ni WA, ni RTE


    • 2
      josed  commented on March 9, 2021, 12:38 a.m.

      Porque este problema se califica por lotes (batch). Para coger los puntos de un lote tienes que haber acertado todos los casos de prueba de ese lote. Por tanto si fallas un caso no tiene sentido seguir calificando ese lote y por eso salen los guiones.