No Hate Porfa
En el 2046, miniyahirpro sigue haciendo problemas y sigue siendo un gran amigo de maullín, por lo cual le compartió el siguiente problema, pero como maullín ya está un poco viejo para resolverlo, se lo pasó a los miembros del CPC del 2046...
Descripción
Alexander y Alberto decidieron abrir un canal de YouTube y, como colaboración, hicieron un directo donde pintaron juntos un muro utilizando 0s y 1s. La marca distintiva del canal de Alexander es "10", mientras que la de Alberto es "01".
Cada vez que en el muro aparece la subsecuencia "10", cada fan de Alberto deja un comentario negativo. De la misma forma, cada vez que aparece la subsecuencia "01", cada fan de Alexander deja un comentario negativo.
Alexander tiene \(x\) fans y Alberto tiene \(y\) fans.
Al final, Alexander y Alberto no alcanzaron a terminar de pintar algunas partes del muro y prefirieron no hacerlo porque ya se estaban empezando a pelear. Por suerte, su amigo Yahir estaba viendo el directo y le pidieron que complete las partes que faltan, eligiendo pintar con \(0\) o con \(1\). Como Alexander es buena persona, quiere hacerlo de manera que se reduzca al mínimo posible la cantidad de comentarios negativos.
Una subsecuencia \(b\) de una cadena \(a\) es cualquier cadena que puede obtenerse eliminando algunos caracteres (posiblemente ninguno) de \(a\), sin cambiar el orden de los restantes. Dos ocurrencias de una subsecuencia se consideran distintas si los conjuntos de posiciones de los caracteres son diferentes.
Tu tarea es ayudar a Yahir a completar el mural de tal forma que la cantidad de comentarios negativos sea mínima.
Entrada
La primera línea contiene la cadena \(s\) — el mural pintado por Alexander y Alberto. Las partes que no alcanzaron a pintar están representadas por el símbolo \(?\).
La segunda línea contiene dos enteros \(x\) y \(y\) — el número de fans de Alexander y de Alberto respectivamente .
Salida
Imprime un solo entero: la mínima cantidad de comentarios negativos que Yahir puede lograr al completar el mural.
Ejemplos
Entrada
1?00
3 5
Salida
15
Explicación: Si coloco un \(1\) en la marca, obtengo \(1100\), el cual tiene \(4\) repeticiones de la subsecuencia "\(10\)" y \(0\) repeticiones de "\(01\)", por lo tanto obtendre \(20\) comentarios negativos, por otro lado, si coloco un \(0\), el muro queda \(1000\), el cual tiene \(3\) repeticiones de la subsecuencia "\(10\)" y \(0\) repeticiones de "\(01\)", por lo tanto obtendré \(15\) comentarios negativos, la mejor opcion de Adrián es colocar un \(0\).
Entrada
?10?
239 7
Salida
28
Límites
- \(1 \leq |s| \leq 10^5\).
- \(0 \leq x, y \leq 10^6\).
Comments