#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> a(n);
for(int i = 0; i < n; ++i)
cin >> a[i];
if(n == 1 && a[0] % 2 == 1)
cout << "NIESTETY" << endl;
else
{
vector<int> odd;
odd.reserve(n);
copy_if(a.begin(), a.end(), back_inserter(odd), [](int x){ return x % 2;});
int res = accumulate(a.begin(), a.end(), 0,
[](int sum, int x){ return sum + (x % 2 == 0 ? x : 0); }) +
accumulate(odd.begin(), odd.end(), 0) - (odd.size() % 2 == 1 ? *min_element(odd.begin(), odd.end()) : 0);
cout << res << endl;
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for(int i = 0; i < n; ++i) cin >> a[i]; if(n == 1 && a[0] % 2 == 1) cout << "NIESTETY" << endl; else { vector<int> odd; odd.reserve(n); copy_if(a.begin(), a.end(), back_inserter(odd), [](int x){ return x % 2;}); int res = accumulate(a.begin(), a.end(), 0, [](int sum, int x){ return sum + (x % 2 == 0 ? x : 0); }) + accumulate(odd.begin(), odd.end(), 0) - (odd.size() % 2 == 1 ? *min_element(odd.begin(), odd.end()) : 0); cout << res << endl; } } |
English