ГЖО 6 класс 2019
Задача C. Четная сумма
Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт
У Айбара есть n целых чисел. Он хочет выбрать некоторые из них, чтобы получить максимально возможную чётную (то есть, делящуюся на 2) сумму. Пожалуйста, вычислите, на что может рассчитывать Айбар. Обратите внимание, что если Айбар не выберет ни одного числа, то сумма будет равна чётному числу 0.
Формат входного файла
В первой строке входных данных записано число n (1<=n<=105) — количество чисел. В следующей строке записаны n целых чисел, имеющихся у Айбара. Все эти числа не превышают по абсолютному значению 109.
Формат выходного файла
Выведите максимально возможную чётную сумму, которую можно получить, используя каждое из данных чисел не более одного раза.
Примеры:
Вход 3 1 2 3Ответ
6Вход
4 1 3 5 -3Ответ
8( Aibar Kuanyshbay )
Комментарий/решение:
#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;
}
}
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.