#include <iostream> #include <algorithm> #include <vector> using std::cin; using std::cout; using std::endl; using std::vector; using std::sort; vector <short> nieparzyste; struct compare { bool operator() (int i, int j) { return (i < j);} } compareObj; int main() { int n, suma = 0; short buf; cin >> n; for(int i = 0; i < n; ++i) { cin >> buf; suma += buf; if(buf % 2 != 0) nieparzyste.push_back(buf); } if(suma % 2 == 0) cout << suma; else { sort(nieparzyste.begin(), nieparzyste.end(), compareObj); while(nieparzyste.size() > 0) { static int iter = 0; suma -= nieparzyste[iter]; if(suma % 2 == 0 && suma > 0) {cout << suma; break;} if(suma <= 0) {cout << "NIESTETY"; break;} ++iter; } } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include <iostream> #include <algorithm> #include <vector> using std::cin; using std::cout; using std::endl; using std::vector; using std::sort; vector <short> nieparzyste; struct compare { bool operator() (int i, int j) { return (i < j);} } compareObj; int main() { int n, suma = 0; short buf; cin >> n; for(int i = 0; i < n; ++i) { cin >> buf; suma += buf; if(buf % 2 != 0) nieparzyste.push_back(buf); } if(suma % 2 == 0) cout << suma; else { sort(nieparzyste.begin(), nieparzyste.end(), compareObj); while(nieparzyste.size() > 0) { static int iter = 0; suma -= nieparzyste[iter]; if(suma % 2 == 0 && suma > 0) {cout << suma; break;} if(suma <= 0) {cout << "NIESTETY"; break;} ++iter; } } return 0; } |