Easy3, somma pari massima v2

Salve,
stavo provando a fare easy3 ma non riesco a capire cosa sto sbagliando.
Questo è il codice:

#include <fstream>
#include <algorithm>
using namespace std;
int main(){
	ifstream in("input.txt");
	ofstream out("output.txt");
	int n;
	in>>n;
	int e1=-1,e2=-1,o1=-1,o2=-1,x;
	for(int i=0;i<n;i++){
		in>>x;
		if(x%2==0 && x>=e1){e2=e1;e1=x;}
		if(x%2!=0 && x>=o1){o2=o1;o1=x;}		
	}
	if(e2==-1 && o2==-1) out<<-1;
	else{
		if(e1+e2>=o1+o2) out<<e1+e2;
		else out<<o1+o2;
		}

}

L’idea era di prendere i due numeri pari e dispari piu grandi e poi vedere chi ha la somma piu grande, ma mi da solo 55/100.
Qualcuno che lo ha fatto e ha voglia di aiutarmi?

Prova questo test case:

3
10 4 8

Fabio.

2 Mi Piace

Grazie mille, mi hai illuminato adesso mi da 100 :smile: