Salto del fieno

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

Dario sta organizzando una gara di salto delle balle di fieno. Il percorso di gara è composto da NN pile di balle fieno, l'ii-esima pila è formata da HiH_i balle di fieno. La gara parte dalla pila i=0i=0 e va verso la pila i=N−1i=N-1, dove H0=HN−1=0H_0 = H_{N-1} = 0. Per vincere bisogna superare in ordine tutte le pile di fieno.

"il percorso preparato da Dario"

Ovviamente passare da pila ad un altra diventa più difficile se la pila è un picco prominente del percorso. Una pila è un picco se vale Hi−1<Hi>Hi+1H_{i-1} < H_i > H_{i+1} la prominenza di tale picco è il più grande intero pp tale che le pile i−1i-1 e i+1i+1 abbiano altezza minore o uguale di Hi−pH_i - p. Le pile 00 e N−1N-1 non sono mai picchi. Dario vuole sapere quale è l'indice del picco con prominenza maggiore, sapresti aiutarlo? Attenzione a parità di prominenza Dario vuole sapere l'indice minore tra i picchi con prominenza massima. Se non esiste neanche un picco sul percorso la risposta dovrà essere −1-1.

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 H0, …, HN−1H_{0}, \, \ldots, \, H_{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 #t: x

dove t è il numero del caso di test (a partire da 11) e il valore x è l'indice del picco con prominenza massima.

Assunzioni

  • T=10T = 10, nei file di input che scaricherai saranno presenti esattamente 1010 casi di test.
  • 2≤N≤100 0002 \le N \le 100\,000
  • 0≤Hi≤1 000 0000 \le H_i \le 1\,000\,000 per ogni i=0, …, N−1i = 0, \, \dots, \, N-1.

Nei primi 33 casi di test solo una pila ha altezza diversa da 00.

Esempi di input/output


Input:

3

4
0 4 2 0

4
0 3 0 0

7
0 1 3 1 4 2 0

Output:

Case #1: 1
Case #2: 1
Case #3: 2

Spiegazione

Nel primo caso d'esempio, l'unico picco è la pila di indice 11 e ha prominenza 22.

Nel terzo caso d'esempio, due pile sono picchi e hanno prominenza massima pari a 22: la pila di indice 22 e quella di indice 44. Quindi il risultato sarà 22 perchè è l'indice minore.

Invia soluzione

Accedi per inviare soluzioni
Accedi