Investimenti su sequenza di titoli

Attenzione: Questo task ha un tempo limite di 10 minuti per l'invio della soluzione. Una volta richiesto un input, il timer partirà in automatico, e dopo la scadenza non sarà più possibile inviare una soluzione per quell'input. È sempre possibile richiedere un nuovo input, per cui non preoccuparti se il timer scade: dovrai semplicemente richiedere e scaricare un nuovo input.

Per aiutarti con questo task, abbiamo preparato delle tracce di soluzione, che includono solo le parti di lettura dell'input e scrittura dell'output (da tastiera e su schermo). Puoi decidere se leggere/scrivere su file decommentando le opportune righe di codice.

Descrizione del problema

Per il suo compleanno, a Elia hanno regalato un titolo di investimento della Eliot. Il titolo oggi ha un valore V0V_0 monete, ma il suo valore sale di G0G_0 monete ogni giorno, per cui tra kk giorni varrà V0+kG0V_0 + k \cdot G_0. Il nostro amico allora ha deciso di darsi alla finanza!

Tuttavia, un solo intermediario accetta di fare affari con Elia e con delle condizioni molto restrittive. Ogni giorno, l'intermediario offre a Elia un singolo titolo: nel giorno ii, il valore iniziale del titolo offerto è ViV_i e aumenterà di GiG_i ogni giorno successivo. Se il valore del titolo che Elia possiede il giorno ii vale almeno quanto quello offerto dall'intermediario, Elia può decidere di scambiare il titolo che ha con quello offerto, ma senza ricevere nessun resto in cambio.

Quello che però l'intermediario non sa è che Elia ha degli informatori, ed è riuscito a scoprire quali titoli offrirà l'intermediario nei prossimi N1N-1 giorni. Sa quindi per ogni giorno ii il valore ViV_i e il guadagno GiG_i del titolo che verrà proposto. V0V_0 e G0G_0 sono il valore iniziale e il guadagno giornaliero del titolo che viene regalato ad Elia.

"img"

Il giorno NN Elia vende il titolo in suo possesso. Sapresti dire quanto Elia può guadagnare al massimo, scegliendo al meglio ogni giorno se scambiare o meno il suo titolo con quello proposto dall'intermediario?

Formato di input

La prima riga del file di input contiene un intero TT, il numero di casi di test. Seguono TT casi di test, numerati da 11 a TT. Ogni caso di test è preceduto da una riga vuota.

Ogni caso di test è composto come segue:

  • una riga contenente l'intero NN.
  • una riga contenente gli NN interi V0,,VN1V_{0}, \, \ldots, \, V_{N-1}.
  • una riga contenente gli NN interi G0,,GN1G_{0}, \, \ldots, \, G_{N-1}.

Formato di output

Il file di output deve contenere la risposta ai casi di test che sei riuscito a risolvere. Per ogni caso di test che hai risolto, il file di output deve contenere una riga con la dicitura "Case #test: ", dove test è il numero del caso di test (a partire da 11), seguita dall'intero ris\mathtt{ris}.

Assunzioni

  • T=20T = 20, nei file di input che scaricherai saranno presenti esattamente 2020 casi di test.
  • 1N1041 \leq N \leq 10^4.
  • 0Vi1060 \leq V_i \leq 10^6.
  • 0Gi1000 \leq G_i \leq 100.

Gruppi di testcase

I casi di test sono suddivisi in 10 gruppi.
Ogni gruppo vale 5 punti, ottenuti solo se tutti i testcase del gruppo vengono risolti correttamente.
Gruppi diversi possono contenere testcase rispondenti alle stesse assunzioni.

AssunzioniGruppiVi=costante per ogni i1,2Gi assume al piuˋ due valori distinti3,4N105,6N10007,8Nessuna assunzione aggiuntiva9,10\small \def\arraystretch{1.5} \begin{array}{|c|c|} \hline \texttt{Assunzioni} & \texttt{Gruppi} \\ \hline V_i = \text{costante per ogni i} & 1,2 \\ \hline G_i \text{ assume al più due valori distinti} & 3,4 \\ \hline N \leq 10 & 5,6 \\ \hline N \leq 1000 & 7,8 \\ \hline \text{Nessuna assunzione aggiuntiva} & 9,10 \\ \hline \end{array}

Esempi di input/output


Input:

2

3
4 7 11
4 5 0

3
4 7 11
4 5 7

Output:

Case #1: 17
Case #2: 18

Spiegazione

Nel primo caso di esempio, L'azione di Elia il giorno 00 vale 44 e il suo valore arriverà a 88 il giorno 11.

"img"

Elia può dunque:

  • scambiare il titolo in suo possesso il giorno 11 per un'azione del titolo V1V_1 dal valore di 77. Il giorno 22 l'azione arriverà al valore di 7+5=127+5=12.
  • tenere il titolo in suo possesso il giorno 22. Il giorno 33 l'azione arriverà al valore di 7+52=177+5*2=17. Elia venderà dunque la sua azione guadagnando 1717 monete.

Nel secondo caso di esempio, Elia dovrà procedere come nel caso precedente fino il giorno 22, quando gli converrà scambiare l'azione in suo possesso per un'azione del titolo V2V_2 che il giorno 33 varrà 11+7=1811+7=18.