No Me Alcanza La Ram
CyberLife quiere ser el monopolio de la IA en el mercado. Como están cansados de que las organizaciones LLM superen sus rendimientos en todos los Benchmarks y ya, hastiados de pensar en espacios multidimensionales y embeddings, tuvieron una idea tanto trivial, como brillante. ¿Qué hay de malo en comprar más RAM?
Supongamos que se espera que la IA sea superadora al resto de sus competidores, si al menos, ésta goza de \(M\) petabytes de RAM, (sí, esta narrativa pasa en 20 años). Además, CyberLife, tiene memorias RAM de alto y bajo voltaje. En su centro de datos, ellos preferirían tener, no solo algo que solo les garantice \(M\) petabytes, sino también, minimizar el consumo. Sí, no quieren ni pensar, ni gastar.
Luego de una exhaustiva búsqueda en el mercado, ellos están interesados en \(N\) memorias, con los siguientes parámetros (llamemos \(R_i\) a la i-ésima memoria):
\[ S_i : \text{Capacidad en Petabytes de } R_i \]
\[ l_i : \text{1, si } R_i \text{ es de bajo voltaje; sino 0} \]
La empresa desea seleccionar un conjunto de memorias cuya capacidad total sea al menos \(M\), minimizando la cantidad de memorias compradas.
Si hay múltiples formas de lograr esta suma utilizando la mínima cantidad de memorias posibles, se desea elegir la opción que maximice la cantidad de memorias de bajo voltaje.
Tu tarea es determinar una selección óptima de memorias.
Entrada
La primera linea contiene dos enteros \(N\) y \(M\) (\(1 \leq N \leq 2 \times 10^5, 1 \leq M \leq 2 \times 10^{15}\)) que indican la cantidad de memorias disponibles y la capacidad mínima requerida.
Las siguientes \(N\) lineas contienen dos enteros \(a_i\) y \(l_i\) (\(1 \leq a_i \leq 10^{10}, 0 \leq l_i \leq 1\)) que indican la capacidad de la i-ésima memoria y si es o no de bajo voltaje.
Se garantiza que la suma total de las capacidades de todas las memorias es al menos \(M\).
Salida
Imprimir dos enteros \(r\) y \(w\) en la primera linea, la cantidad minima de memorias necesarias y la cantidad máxima de memorias de bajo voltaje que se pueden incluir en un conjunto optimo de tamaño r.
En la segunda linea imprimir \(r\) enteros distintos entre \(1\) y \(N\), ordenados de cualquier manera, que indiquen las memorias a comprar.
Si existen varias soluciones, imprimir cualquiera de ellas.
Ejemplos
Entrada 1
4 10
3 1
7 0
5 1
4 1
Salida 1
2 1
4 2
Entrada 2
3 13
6 1
6 1
6 1
Salida 2
3 3
1 2 3
Comentarios