#include <iostream> #include <limits> template<class T, class Acc> void solve(size_t n) { Acc s{0}; T min_odd{std::numeric_limits<T>::max()}; using std::min; for(size_t i = 0; i < n; ++i) { T val; std::cin >> val; s += val; if(val % 2 == 1) min_odd = min(val, min_odd); } if(s % 2 == 0) std::cout << s << std::endl; else if(min_odd != s && min_odd != std::numeric_limits<T>::max()) std::cout << s - min_odd << std::endl; else std::cout << "NIESTETY" << std::endl; } int main() { std::ios_base::sync_with_stdio(false); size_t n; std::cin >> n; solve<int, long long>(n); }
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 | #include <iostream> #include <limits> template<class T, class Acc> void solve(size_t n) { Acc s{0}; T min_odd{std::numeric_limits<T>::max()}; using std::min; for(size_t i = 0; i < n; ++i) { T val; std::cin >> val; s += val; if(val % 2 == 1) min_odd = min(val, min_odd); } if(s % 2 == 0) std::cout << s << std::endl; else if(min_odd != s && min_odd != std::numeric_limits<T>::max()) std::cout << s - min_odd << std::endl; else std::cout << "NIESTETY" << std::endl; } int main() { std::ios_base::sync_with_stdio(false); size_t n; std::cin >> n; solve<int, long long>(n); } |