Alex y la IOI


Submit solution


Points: 100 (partial)
Time limit: 1.0s
Java 8 2.0s
Memory limit: 256M

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

¡Alex clasificó a la IOI! y se está preparando para viajar, él quiere saber cuál es la forma más barata de llegar a la IOI.

Alex conoce n aeropuertos. Todos los aeropuertos están localizados en una línea recta y cada uno está enumerado de 1 a n (de izquierda a derecha). La casa de Alex está situada cerca del aeropuerto con id a y el lugar de la olimpiada está situado cerca del aeropuerto con id b. Es posible que la casa de Alex y el lugar de la olimpiada estén cerca del mismo aeropuerto (es decir, que a sea igual a b también es posible).

Para llegar a la olimpiada Alex puede volar entre cualquier par de aeropuertos cualquier cantidad de veces, pero él tiene que empezar su ruta en el aeropuerto a y terminarla en el aeropuerto b.

Cada aeropuerto pertenece a una de dos compañías. El costo del vuelo del aeropuerto i al aeropuerto j es 0 si ambos aeropuertos pertenecen a la misma compañía y es |i - j| si pertenecen a compañías distintas.

Calcula el costo mínimo que Alex tiene que pagar para llegar a la olimpiada.

Entrada

La primera línea de la entrada contiene los enteros n, a y b \; (1 \leq n \leq 10^5, 1 \leq a, b \leq n).

La segunda y última línea contiene una cadena de caracteres de tamaño n, la cual consiste solamente de los caracteres 0 y 1. Si el i-ésimo caracter en la cadena es 0 el aeropuerto pertenece a la primera compañía, en otro caso el aeropuerto pertenece a la segunda compañía.

Salida

En una única línea imprima el costo mínimo que Alex tiene que pagar para llegar a la olimpiada.

Ejemplos

Entrada 1
4 1 4
1010
Salida 1
1
Entrada 2
5 5 2
10110
Salida 2
0

Explicación de los ejemplos

En el primer ejemplo Alex puede volar al aeropuerto 2 primero y pagar |1 - 2| = 1 (porque los aeropuertos pertenecen a compañías distintas) y luego volar del aeropuerto 2 al aeropuerto 4 gratis (ambos aeropuertos pertenecen a la misma compañía). Por tanto el costo total es 1, esto es óptimo.

En el segundo ejemplo Alex puede volar directamente del aeropuerto 5 al 2 gratis (ambos aeropuertos pertenecen a la misma compañía), por lo que el costo total es 0.


Comments


  • -10
    victoredel  commented on March 16, 2021, 11:02 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


    • 16
      aniervs  commented on March 17, 2021, 3:27 p.m.

      La razón es que estás leyendo la secuencia de 0s y 1s como un arreglo de bool, pero estos caracteres son dados sin espacios entre ellos. Deberías leer la secuencia como un string, o un arreglo de char.