Viaggio in treno

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

Carmen sta andando a Biella per preparare le OII! Purtroppo, nella carrozza del treno su cui viaggia, non funziona l'aria condizionata. Aiutala a decidere quali finestrini aprire.

"Il treno su cui viaggia Carmen"

La carrozza ha NN file di posti, ciascuna con un finestrino sul lato destro e uno sul lato sinistro. Inizialmente i finestrini sono tutti chiusi. Ogni finestrino richiede una certa energia per essere aperto: LiL_i per il finestrino sinistro e RiR_i per il finestrino destro della fila ii. Spendendo meno energia possibile, Carmen vuole aprire alcuni finestrini in modo che:

  • in ciascuna fila, ci sia esattamente un finestrino aperto, a sinistra o a destra (non entrambi, per evitare correnti d'aria),
  • non ci siano tre file consecutive che, su uno stesso lato, abbiano i finestrini tutti chiusi.

Stabilisci il minimo valore di energia necessaria, in totale, per aprire i finestrini in modo da soddisfare queste condizioni.

Dati 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 da N+1N+1 righe:

  • la prima riga contiene l'intero NN;
  • le successive NN righe contengono ciascuna i due interi LiL_i e RiR_i.

Dati 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: e

dove t è il numero del caso di test (a partire da 11) e il valore e il minimo valore di energia necessario in totale.

Assunzioni

  • T=24T = 24, nei file di input che scaricherai saranno presenti esattamente 2424 casi di test.
  • 1≤N≤1 0001 \le N \le 1\,000.
  • 1≤Li,Ri≤1 000 0001 \le L_i, R_i \le 1\,000\,000 per ogni 0≤i≤N−10 \le i \le N-1.

Esempi di input/output


Input:

2

5
1 4
1 4
4 5
1 4
3 2

10
3 10
2 5
2 8
8 8
7 4
2 8
1 7
7 10
1 8
5 4

Output:

Case #1: 10
Case #2: 40

Spiegazione

Nel primo caso d'esempio la carrozza ha N=5N = 5 file. Spendendo energia 1010, possiamo aprire i seguenti finestrini:

  • nella fila 0, a sinistra (spendendo energia 11)
  • nella fila 1, a sinistra (spendendo energia 11)
  • nella fila 2, a destra (spendendo energia 55)
  • nella fila 3, a sinistra (spendendo energia 11)
  • nella fila 4, a destra (spendendo energia 22)

Non è possibile soddisfare le condizioni spendendo meno di 1010. Pertanto, il minimo valore di energia necessaria per soddisfare le condizioni è 1010

Nel secondo caso d'esempio la carrozza ha N=10N = 10 file. Il minimo valore di energia necessaria per soddisfare le condizioni è 4040.

Invia soluzione

Accedi per inviare soluzioni
Accedi