URI Online Judge | 1262

Lectura Múltiple

Por TopCoder* EUA

Timelimit: 1

En muchos sistemas de computadoras, múltiples procesos pueden leer el mismo recurso durante el mismo ciclo de reloj, pero sólo un proceso puede escribir sobre el recurso durante un ciclo de reloj. Lecturas y escrituras no se pueden mezclar en el mismo ciclo de reloj. Dado un historial de lecturas y escrituras que ocurren durante una computación particular como una cadena de caracteres trace, y un entero procs que representa el número de procesos usados en la computación, calcular la duración mínima de la computación en ciclos de reloj. El trace representa cada lectura con una 'R' y cada escritura con una 'W'.

Por ejemplo, sitrace es "RWWRRR" y procs es 3, entonces el número mínimo de ciclos de reloj es 4: uno para la primera lectura, uno para cada de las dos escrituras, y uno para el último grupo de lecturas.

Entrada

La entrada consta de varios casos de prueba. Cada uno está compuesto por dos líneas. La primera línea tiene una cadena de 1 a 50 caracteres, donde cada uno puede ser ‘R’ o ‘W’. La segunda línea contiene un entero (1 ≤ ≤ 10), que representa el número de procesos como un indicador directo de cuántas operaciones de lectura pueden realizarse en simultáneo. La entrada termina con un final de archivo (EOF).

Salida

Para cada caso de prueba, determinar e imprimir el número de ciclos de reloj mínimo que se requieren para correr el trace brindado. Para mayores referencias ver los ejemplos debajo.

Ejemplo de Entrada Ejemplo de Salida

RWWRRR
3
RWWRRRR
3
WWWWW
5
RRRRRRRRRR
4
RWRRWWRWRWRRRWWRRRRWRRWRRWRRRRRRRRRWRWRWRRRRWRRRRR
4

4
5
5
3
30