La 1a edición de la OFMI se llevará a cabo en línea.

La convocatoria de la OFMI está abierta para cualquier mujer o persona no binaria mexicana o que radique en México y que durante enero-junio 2022 esté inscrita en alguna escuela estudiando cualquier grado de primaria, secundaria o bachillerato.

Competencia

Habrá dos días de competencia. Cada día las participantes presentarán un examen de 5 horas para resolver cuatro problemas. La plataforma que se usará en la competencia es omegaUp.

Problemas

El lenguaje de programación con el que deberán escribir las soluciones es C/C++.

Cada problema tendrá especificados los límites de memoria y tiempo de ejecución que la solución debe cumplir.

El código que resuelve el problema deberá enviarse únicamente a través de omegaUp.

Material permitido durante la competencia

Durante los exámenes las participantes no deben consultar información externa a la que viene en el examen. Esto incluye cualquier material digital o impreso, cualquier dispositivo electrónico que no sea la computadora donde están realizando el examen, así como cualquier archivo o documento existente en esta computadora.

No deberán mantener comunicación con ninguna otra persona ajena al comité organizador. Para resolver dudas acerca del examen, se debe usar el sistema de clarificaciones de omegaUp. En caso de algún problema técnico, las participantes deberán mandar un correo en ese momento a ofmi@omegaup.com.

El único material de consulta permitido durante los exámenes es:

Suministros

Durante el concurso las participantes pueden tener en su lugar de trabajo:

  • Hojas de papel (en blanco), y plumas o lápices para poder hacer anotaciones,
  • Medicinas,
  • Bebidas y comida (snacks, dulces, etc.),
  • Algún peluche (mascota) o amuleto,
  • Kleenex, papel de baño, etc.

Cualquier intento de usar algún otro material no listado durante la competencia se considerará trampa. Especialmente los siguientes elementos están prohibidos durante la competencia:

  • cualquier dispositivo electrónico (tablets, computadoras extras, calculadoras, monitores extras),
  • libros, manuales o cualquier material impreso,
  • cualquier dispositivo de almacenamiento (USBs, SDs, etc.),
  • cualquier dispositivo de comunicación (celulares, radios, walkie-talkies, etc.),
  • relojes de mano/pulsera de cualquier tipo (smart watch, reloj digital, reloj de manecillas).

Grabaciones

Para asegurar la integridad de la competencia, las participantes deberán usar algún software que les permita grabar su pantalla, el video capturado por su cámara y el audio de su micrófono durante todo el tiempo de los exámenes. Te recomendamos que uses OBS. El objetivo de los videos es poder validar la identidad de las participantes durante los exámenes y ver que no usen material o herramientas prohibidas.

Las participantes deberán subir sus videos a la liga que se les proporcionará acabando el concurso. Estos videos no serán públicos y no se compartirán con ninguna persona ajena al comité organizador de la OFMI. Los videos se eliminarán a más tardar un mes después de la competencia.

Examen de Práctica

Existirá un examen de práctica, el cual estará abierto desde el 4 de diciembre de 2021 hasta el 20 de enero de 2022. El objetivo de este examen es que las participantes se familiaricen con la plataforma y con la forma de hacer envíos de código, envío de dudas con el sistema de clarificaciones, que hagan pruebas de video y poder solicitar ayuda para solucionar problemas antes de la competencia.

Dudas y Clarificaciones

Durante el examen de práctica y los exámenes de la competencia, las participantes deben enviar sus dudas a través de las clarificaciones de omegaUp. El comité científico responderá las dudas lo más pronto posible; la respuesta les llegará por la misma vía.

El comité científico responderá todas las preguntas recibidas. En ocasiones puede haber muchas preguntas y las respuestas podrían no llegar tan rápido, por eso las participantes deberán continuar trabajando en su examen mientras reciben la respuesta.

El comité científico no puede responder preguntas que puedan dar información de cómo resolver el problema.

Envío de soluciones

Las participantes deberán enviar las soluciones a los problemas usando omegaUp. Para evitar la saturación del sistema, deberán esperar 1 minuto entre envíos.

Cada solución debe estar escrita en C++; el archivo debe pesar menos de 256 KB.

Feedback

Para cada envío, omegaUp emitirá un veredicto que puede ser:

  • AC – Accepted: Tu envío resolvió correctamente todos los casos de prueba y obtuviste la máxima cantidad de puntos.
  • PA – Partially Accepted: Tu envío resolvió al menos un caso de prueba, pero hay al menos un caso que no resolviste correctamente. Obtuviste puntos parciales.
  • WA – Wrong Answer: Tu programa no resolvió ningún caso correctamente.
  • TLE – Time Limit Exceeded: Al menos en uno de los casos, tu programa excedió el límite de tiempo. Intenta pensar en una solución más eficiente o busca en tu código si hay algún ciclo infinito. Puede haber puntos parciales.
  • MLE – Memory Limit Exceeded: En al menos en uno de los casos, tu programa excedió el límite de memoria. Intenta pensar en una solución que utilice menos memoria. En C y C++, algunos MLE se pueden reportar como RTE, sobre todo si declaraste arreglos gigantes.
  • RTE – Runtime error: En al menos uno de los casos, tu programa tuvo un error fatal: puede ser una excepción, divisiones entre cero, desbordaste el stack, te saliste de los límites de un arreglo, etc. Vuelve a leer el problema y piensa qué casos se te olvidó considerar y qué entrada puede hacer que tu programa se comporte de esta manera.
  • RFE – Restricted function: En al menos uno de los casos, tu programa intentó realizar una operación prohibida. En general, no puedes abrir ningún archivo, no puedes conectarte a internet, no puedes ejecutar otros programas y no puedes comunicarte con nada del sistema fuera del problema. Limítate a resolver el problema usando algoritmos.
  • CE – Compilation error: Tu programa no pudo ser compilado. omegaUp utiliza gcc y g++ en Linux, así que podría haber incompatibilidades entre tu ambiente de desarrollo y el que usamos nosotros. Si haces click en el botón de “Ver” el código, verás tu código seguido del error del compilador.
  • JE – Judge error: Un error interno de omegaUp. Esto no debería pasar nunca, pero si te sale, alguno de los jueces ya lo vio y lo resolverá lo más rápido posible, así que no es necesario que lo reportes. Intenta otro problema mientras tanto, y ten por seguro que no serás penalizado por ese envío, porque no fue tu culpa.

Los puntos que refleja la plataforma son preliminares. En ocasiones podrá haber reevaluaciones, derivado de alguna apelación o si se detecta algún error.

En caso de existir reevaluaciones, las participantes serán informadas en el momento.

También se notificará a todas las participantes cuando los resultados sean los finales.

Final de la competencia

El tiempo restante de cada examen se puede ver en todo momento en omegaUp.com.

En caso de que se extienda el tiempo, se notificará a las participantes por medio del sistema de clarificaciones de la plataforma y deberán ver reflejado el cambio en el contador.

Cuando el contador llegue a 0, termina el tiempo para resolver el examen y la plataforma no aceptará más envíos de soluciones.

Descalificación

Durante la competencia, las participantes:

  • no deberán iniciar sesión en alguna otra cuenta de omegaUp que no sea la asignada para el concurso;
  • no deberán consultar material que no esté explícitamente mencionado en la sección Material permitido durante la competencia;
  • no deberán acceder a ninguna otra página o plataforma en internet que no sea el examen o el material de referencia permitido;
  • no deberán comunicarse con ninguna persona durante la competencia, a excepción del comité organizador;
  • no deberán utilizar más de una pantalla activa. En caso de utilizar un monitor externo, la pantalla de la laptop deberá permanecer apagada.

En caso de que alguna participante realice cualquiera de las acciones anteriormente mencionadas, se considerará trampa y puede resultar en descalificación.

Código de conducta

Esta competencia busca ser un lugar seguro y de respeto para todas las participantes, por eso pedimos que toda la comunidad involucrada se apegue a este código de conducta.

En caso de que algún integrante de la comunidad no cumpla el código de conducta, podrá ser sancionado.

Proceso de apelación

Las soluciones enviadas son evaluadas usando casos de prueba que se ajustan a las especificaciones escritas en el enunciado del problema. Las participantes no tendrán acceso a estos casos de prueba durante la competencia.

Terminando el examen, se publicarán los casos de prueba para que las participantes puedan revisarlos. En caso de que exista algún error en algún caso de prueba, el comité organizador intentará, pero no estará obligado a seguir el siguiente procedimiento:

  • Se hará todo lo posible para arreglar los casos de prueba y reevaluar las soluciones tan rápido como sea posible.
  • Si el comité considera que los casos de prueba existentes no cubren todos los aspectos a evaluar del problema, podrá agregar nuevos casos de prueba.
  • La detección tardía de problemas, especialmente durante las últimas 2 horas del concurso, puede ser motivo para extender la duración del concurso.

Los casos de prueba se publicarán terminando el examen. Las participantes podrán usar sus cuentas de omegaUp para enviar otras soluciones después del examen. Estos envíos no serán considerados para los resultados del examen.

Las participantes pueden solicitar apelaciones llenando esta forma a más tardar tres horas después de que se publiquen los casos de prueba y las soluciones oficiales.

El comité organizador revisará todas las apelaciones y notificará a las solicitantes su decisión. En caso de que la apelación resulte en una o más reevaluaciones, se notificará a todas las participantes. Las puntuaciones pueden subir o bajar como resultado de esta reevaluación. Se actualizarán las puntuaciones en donde se hayan publicado. Los cambios de puntuación derivados de esto no serán apelables.