Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

BANFARAO - Banco do Faraó

 

Pouca gente sabe, mas foi no Antigo Egito que surgiram os primeiros bancos, de uma forma muito semelhante ao que conhecemos hoje. O principal banco era do faraó, que decidia, de tempos em tempos, tomar para o Estado o conteúdo de algumas contas. Isso ocorria da seguinte forma. Dado N, o número de correntistas do Banco do Faraó (era esse o nome do banco), cada conta podia ter uma quantia em menés (moeda do Antigo Egito) que podia ser, inclusive, negativa (indicando que a pessoa devia aquela quantia ao banco), ou seja, o estado de cada conta era um inteiro ai. O objetivo do faraó era fazer diversas consultas nas contas de seus súditos. Dado um intervalo [A,B] (correspondente as contas aA, aA+1, ... , aB-1, aB) o faraó desejava encontrar um subintervalo de soma máxima, ou seja, cujo sequestro pelo Estado renderia ao Faraó a maior quantia de dinheiro. Isso era explicado aos correntistas como sendo uma oferenda a Amon-Ahcid, o Deus egípcio do dinheiro. Fazendo regularmente tais oferendas o deus ficava satisfeito e permitia que o sistema econômico funcionasse perfeitamente. Isso durou surpreendentemente mais de 500 anos, até que num desses sequestros os correntistas se rebelaram, tomaram o palácio e mataram o faraó. O banco foi saqueado e o sistema ruiu. Só se ouviu falar de bancos novamente centenas de anos depois.
Sua tarefa é dado um registro de contas e uma série de consultas, determinar para cada consulta um intervalo de soma máxima.

Entrada

A entrada é composta por diversas instâncias. A primeira linha da entrada contém um inteiro T indicando o número de instâncias.
A primeira linha de cada instância contém um inteiro N, indicando o número de contas no Banco do Faraó, onde 1 ≤ N ≤ 100 000. A segunda linha de cada instância contém N inteiros, entre -10 000 até 10 000, indicando os saldos nas contas dos correntistas. A terceira linha contém um inteiro Q, onde 1 ≤ Q ≤ 100000, indicando o número de consultas que serão feitas. Cada uma das Q linhas seguintes contém dois inteiros A e B, onde 1 ≤ A,B ≤ N, indicando o intervalo que deve ser consultado.

Saída

Para cada instância seu programa deve produzir Q linhas na saída, sendo uma para cada consulta. Cada uma dessas linhas deve conter dois inteiros: o primeiro representa a soma do intervalo com maior soma, e o segundo, o número de elementos desse intervalo. Caso haja mais de um intervalo com maior soma, imprima o número de elementos naquele com maior número de elementos.

Exemplo

Entrada:
3
3
-1 -2 -3
1
1 1
8
1 2 -1 4 9 8 -1 2
4
1 3
1 4
2 5
7 8
3
0 0 0
1
1 3

Saída:

-1 1
3 2
6 4
14 4
2 1
0 3

Adicionado por:Wanderley Guimarăes
Data:2011-02-20
Tempo limite:0.800s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP PERL6 PY_NBC SCALA TCL
Origem:Seletiva para Maratona de Programacao IME-USP - 2010

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.