Material de ejemplo
Problemas de ejemplo a los que los estudiantes pueden enfrentarse durante el
taller. Cada problema incluye una descripción detallada, límites de tiempo y
memoria, así como casos de prueba para practicar. Cada problema deben
resolverlo usando el lenguaje de programación C++.
Llegaste a la final de las Olimpiadas de Calculadoras Increíbles (OCI) y tu tarea ahora es crear una calculadora que soporte las cuatro operaciones aritméticas básicas: adición, sustracción, multiplicación y división entera.
Entrada
La primera línea de la entrada contiene un entero x, un caracter op y un entero y, separados por espacios. (1 ≤ x, y ≤ 10^4, op es +, -, * o /).
Salida
La salida debe consistir en una línea con un entero: el resultado de la operación.
Puntajes
- 50 puntos: La operación será
+ o -.
- 50 puntos: Sin restricciones adicionales.
Ejemplos
Nota
Nota que la división es entera, que es lo mismo que truncar el resultado de una división normal.
Punto tiene una lista de N números enteros ordenados de manera no decreciente. Recibirá Q consultas, cada una consistiendo en un número entero. Cada consulta consiste en que Punto necesita encontrar el índice de la primera ocurrencia del número de manera eficiente.
Entrada
La primera línea contiene dos enteros N y Q (1 ≤ N, Q ≤ 10^5).
La segunda línea contiene N enteros separados por espacios, cada entero con un valor entre 1 y 10^9.
Las siguientes Q líneas contienen cada una un entero entre 1 y 10^9, representando una consulta.
Salida
Para cada consulta (en el orden en que fueron recibidas), debe mostrar por pantalla una línea con un único entero: el índice de la primera ocurrencia del elemento consultado o -1 si no está presente en la lista. El valor del índice debe ser entre 1 y N.
Puntajes
- Subtarea 1 (10 puntos):
1 ≤ N, Q ≤ 10.
- Subtarea 2 (20 puntos):
1 ≤ N ≤ 100, 1 ≤ Q ≤ 1000.
- Subtarea 3 (70 puntos):
1 ≤ N, Q ≤ 10^5.
Ejemplo
Alejandra tiene una gran pasión por recolectar cartas y disfruta guardar cada nueva adquisición en su colección. Además, le encanta hacer preguntas sobre su colección, especialmente sobre cuál fue la i-ésima carta que añadió.
Como está muy ocupada buscando nuevas cartas, te pide ayuda para desarrollar un programa que le permita almacenar las cartas que posee y responder rápidamente a preguntas sobre cuál fue la i-ésima carta añadida.
Entrada
La entrada del programa consiste en los siguientes elementos:
- Un entero
n (1 ≤ n ≤ 10^5), que indica la cantidad de cartas que Alejandra ha encontrado.
- Una segunda línea con
n enteros separados por espacios, donde cada entero representa el valor de una carta. El primer número de esta línea corresponde a la primera carta que Alejandra añadirá a su colección, el segundo al valor de la segunda carta, y así sucesivamente hasta la n-ésima carta. Cada carta tiene un valor comprendido entre 1 y 10^6.
- Una tercera línea con un entero
q (1 ≤ q ≤ 10^5), que indica la cantidad de preguntas que Alejandra desea realizar sobre su colección.
- Finalmente, le siguen
q líneas, donde cada línea contiene un entero i, que representa la pregunta de Alejandra sobre cuál fue la i-ésima carta añadida a su colección. El valor de i puede ir entre 0 y n - 1.
Salida
La salida debe consistir de q líneas, donde cada línea debe contener un entero, correspondiente al valor de la i-ésima carta.
Puntajes
- 50 puntos:
1 ≤ n ≤ 4.
- 50 puntos: Sin restricciones adicionales.
Ejemplos