fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. void solve() {
  6. int n;
  7. cin >> n;
  8.  
  9. long long even_sum = 0;
  10. long long* odds = new long long[n];
  11. int odd_count = 0;
  12.  
  13. for (int i = 0; i < n; ++i) {
  14. long long val;
  15. cin >> val;
  16. if (val % 2 == 0) {
  17. even_sum += val;
  18. } else {
  19. odds[odd_count] = val;
  20. odd_count++;
  21. }
  22. }
  23.  
  24. if (odd_count == 0) {
  25. cout << 0 << endl;
  26. delete[] odds;
  27. return;
  28. }
  29.  
  30. sort(odds, odds + odd_count, greater<long long>());
  31.  
  32. long long sum1 = even_sum;
  33. for (int i = 0; i < odd_count; i += 2) {
  34. sum1 += odds[i];
  35. }
  36.  
  37. long long sum2 = even_sum;
  38. for (int i = 1; i < odd_count; i += 2) {
  39. sum2 += odds[i];
  40. }
  41.  
  42. cout << max(sum1, sum2) << endl;
  43.  
  44. delete[] odds;
  45. }
  46.  
  47. int main() {
  48. ios_base::sync_with_stdio(false);
  49. cin.tie(NULL);
  50.  
  51. int t;
  52. cin >> t;
  53. while (t--) {
  54. solve();
  55. }
  56. return 0;
  57. }
Success #stdin #stdout 0.01s 5328KB
stdin
3
3
2 4 6
4
4 2 1 6
4
1000000000 999999999 1000000000 999999999
stdout
0
13
2999999999