ГЖО 6 класс 2019


Задача C. Четная сумма

Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт

У Айбара есть $n$ целых чисел. Он хочет выбрать некоторые из них, чтобы получить максимально возможную чётную (то есть, делящуюся на $2$) сумму. Пожалуйста, вычислите, на что может рассчитывать Айбар. Обратите внимание, что если Айбар не выберет ни одного числа, то сумма будет равна чётному числу $0$.
Формат входного файла
В первой строке входных данных записано число $n$ $(1 <= n <= 10^5)$ — количество чисел. В следующей строке записаны $n$ целых чисел, имеющихся у Айбара. Все эти числа не превышают по абсолютному значению $10^9$.
Формат выходного файла
Выведите максимально возможную чётную сумму, которую можно получить, используя каждое из данных чисел не более одного раза.
Примеры:
Вход
3
1 2 3
Ответ
6
Вход
4
1 3 5 -3
Ответ
8
( Aibar Kuanyshbay )
посмотреть в олимпиаде

Комментарий/решение:

  0
2021-12-06 07:58:59.0 #

#include <bits/stdc++.h>

using namespace std;

int main()

{

int n, ans=0, b[1] = {2};

cin >> n;

int a[n];

for(int i = 0; i<n; i++){

cin >> a[i];

}

sort(a, a+n);

for(int i = n-1; i>=0; i--){

if(a[i] < 0){

break;

}

ans += a[i];

}

for(int i = 0; i<n; i++){

if(a[i]>0){

if(b[0]>a[i]) b[0]= a[i];

}

}

if(ans %2 == 1){

ans -= b[0];

cout << ans;

}

else{

cout << ans;

}

}

  1
2022-06-18 17:40:59.0 #

показать/скрыть код