Saldando Cuentas


Se encontró un problema con las cobranzas en la empresa de telecomunicaces MIGO. Tenemos un detalle de los montos que cada persona adeuda por el servicio telefónico, pero se perdieron los registros de las personas que ya habían saldado su deuda, pudiendo recuperar tan sólo el total que faltaba cobrar.

Se sabe que este importe que no se cobró corresponde a la suma de lo que deben un conjunto de personas que aparecen de forma consecutiva en el listado de cobranzas. La pregunta es ¿Qué grupos de personas podrían ser las que no pagaron por el servicio?

Veamos un ejemplo:

Si el total adeudado es de 100 Bs., los posibles conjuntos de personas cuyo subtotal de deudas suma este monto serían: desde la persona #1 hasta la persona #2 (70 + 30 = 100), y desde la persona #3 hasta la persona #5 (50+25 +25 = 100). No se puede considerar la suma de, por ejemplo, las personas #0 y #3, porque no conforman un rango contiguo.

Entrada

La primera línea de los datos de prueba tendrá solamente un número n, que indica la cantidad de personas (1 ≤ n ≤ 104). Siguen n números di (2 ≤ di ≤ 100) con los montos adeudados, un monto por línea.

Después continúa, en una sola línea, un entero c indicando la cantidad consultas sobre la lista de deudas (1 ≤ c ≤ 50). De ahí siguen los c montos a consultar, cada uno en su propia línea.

Salida

Por cada consulta, imprime una lista de los rangos que sumen el valor buscado, ordenados ascendentemente de acuerdo a su posición de comienzo en la lista de deudas. Si no existe ningún rango adecuado, imprime −1.

Ejemplo de Entrada

6
50
70
30
50
25
25
2
100
180

Ejemplo de Salida

1 2
3 5
-1

Código

SUMA1

Intentos de resolución

187
31

Logrados

Etiquetas

#2014 #obi-final-nacional