Corso Online per Potenziare le Competenze Digitali
Stanno iniziando i preparativi per le prossime nazionali delle OII, tuttavia la situazione meteorologica negli ultimi mesi è stata a dir poco imprevedibile. In particolare, quello che preoccupa di più lo staff delle OII sono gli sbalzi di temperatura.
Definiamo uno sbalzo di temperatura da caldo a freddo come una variazione di temperatura T1 → T2 dove T1 > T2, e similmente definiamo uno sbalzo di temperatura da freddo a caldo come una variazione di temperatura T1 → T2 dove T1 < T2.
Aiuta lo staff ad identificare, dato il calendario delle dieci possibili giornate per le OII, quali sono i giorni critici da evitare a causa di grandi sbalzi di temperatura.
Ad esempio, se le dieci temperature medie registrate fossero le seguenti:
10, 5, 8, 9, 8, 7, 11, 17, 16, 15
gli sbalzi di temperatura sarebbero:
−5, +3, +1, −1, −1, +4, +6, −1, −1
quindi i due sbalzi critici sono, rispettivamente,
−5 e +6.
Dati di input
Il file input.txt è composto da 10 numeri interi separati da spazio: le temperature medie registrate nei possibili giorni in cui verranno svolte le nazionali delle OII.
Dati di output
Il file output.txt è composto da due numeri interi separati da spazio: il primo è un numero negativo che corrisponde al più grande sbalzo da caldo a freddo; il secondo è un numero positivo che corrisponde al più grande sbalzo da freddo a caldo (fare attenzione al segno + che deve essere stampato prima del secondo numero intero!).
Assunzioni
- Le temperature sono comprese tra −20 e 60 gradi, estremi inclusi.
- Due giorni consecutivi non presenteranno mai la stessa temperatura media.
- Esiste sempre almeno uno sbalzo di temperatura in entrambi i versi.
Esempi di input/output
input.txt output.txt 10 5 8 9 8 7 11 17 16 15 -5 +6 -3 -2 -1 0 1 2 1 0 -1 -2 -1 +1
/* www.valcon.it Corso Online per Potenziare le Competenze Digitali Sbalzi di temperatura */ #include#include using namespace std; #define N 10 int main() { ifstream fin ( "input.txt"); ofstream fout("output.txt"); int t1, t2, sbalzo, sbalzoNeg=0, sbalzoPos=0; fin >> t1; for(int i=2; i <= N; i++) { fin >> t2; sbalzo=t2-t1; if(sbalzo < sbalzoNeg) sbalzoNeg=sbalzo; else if(sbalzo > sbalzoPos) sbalzoPos=sbalzo; t1=t2; } fout << sbalzoNeg << " " << sbalzoPos; return 0; }