Pari, dispari, uguali

Corso Online per Potenziare le Competenze Digitali

Ogni anno Marta riceve in regalo un array di numeri interi positivi.
Domani è il compleanno della mamma di Marta, e lei ha deciso di regalarle un sottoinsieme del suo array.
Per scegliere il sottoinsieme più bello possibile, Marta farà una sola tra le seguenti scelte:

  • regalerà tutti i numeri pari
  • regalerà tutti i numeri dispari.

Aiuta Marta a decidere quale scelta fare, sapendo che lei vuole regalare un sottoinsieme che abbia somma massima.

Dati di input

Nella prima riga del file input.txt è presente un intero N, il numero di elementi dell’array di Marta.
La seconda riga contiene gli N numeri positivi (separati da spazio) che compongono l’array.

Dati di output

Stampare sull’unica riga del file output.txt la lettera P se Marta deve scegliere i numeri pari, la lettera D se invece deve scegliere quelli dispari, o la lettera U se è indifferente.
Si faccia attenzione a scrivere le lettere maiuscole e senza apici.

Assunzioni

  • 2 ≤ N ≤ 1000
  • Ognuno dei valori dell’array non supera 1000.
  • Ci sono sempre almeno un elemento pari ed almeno un elemento dispari.

Esempi di input/output

input.txt output.txt
4
3 6 7 6
P
4
3 6 7 4
U

/*
 www.valcon.it
 Corso Online per Potenziare le Competenze Digitali
 Pari, dispari, uguali
*/
//-----------------------------------------
#include 
#include 
using namespace std;
//-----------------------------------------
int main()
{
    ifstream fin ( "input.txt");
    ofstream fout("output.txt");

    int  N,
         numero;
    long tot_pari=0,
         tot_disp=0;
    char risposta;
    //-----------------------------------------	
    fin >> N;
    for(int i=1; i <= N; i++)
    {
        fin >> numero;		
					
        if(numero%2 == 0) tot_pari += numero;
        else              tot_disp += numero;
    }	
    //-----------------------------------------
         if(tot_pari >  tot_disp) risposta='P';
    else if(tot_pari == tot_disp) risposta='U';
    else                          risposta='D';
	
    fout << risposta << endl;
    return 0;
}

Lascia un commento