Números consecutivos a distancia menor o igual a 2, solo dos consecutivos a distancia 1.

En este ejercicio hay que implementar una función que recibe un vector de enteros que cumple lo siguiente. Cualquier par de valores consecutivos del vector se encuentran a una distancia menor o igual a 2. Además, solo hay exactamente una pareja de valores consecutivos de este vector que se encuentren a distancia exactamente 1. Por ejemplo, la siguiente secuencia de valores cumple esta condifición:

3 1 1 2 4 2 2 0

La función tiene que devolver la posición (indexando desde 0) del primer elemento de la pareja consecutiva que se encuentre a distancia 1. Con el ejemplo anterior como entrada, la función tendría que retornar 2.

Esta es la cabecera:

// Pre: Sea n el tamaño, v.size(). Entonces, para cada i en {0..n-2}, se cumple que |v[i]-v[i+1]|<=2.
//      Además, hay exactamente una i en {0..n-2} que cumple |v[i]-v[i+1]|=1.
// Post: La función devuelve ese i en {0..n-2} que cumple |v[i]-v[i+1]|=1.
int positionDistance1(const vector<int> &v);

Observación

Sólo tenéis que enviar el procedimiento requerido; el programa principal será ignorado.

Observación

Evaluación sobre 10 puntos:

Entendemos por solución rápida una que es correcta, de coste logarítmico y capaz de superar los juegos de pruebas públicos y privados. Entendemos una solución lenta una que no es rápida, pero es correcta y capaz de superar los juegos de pruebas públicos.

Información del problema

Autoría: PRO1

Generación: 2026-01-25T23:01:32.989Z

© Jutge.org, 2006–2026.
https://jutge.org