题目来源:码蹄集
https://matiji.net/exam/brushquestion/320/778/B3FCFEC101BD05189BB74D522E019504
时间限制:1000ms
内存限制:65535kb
题目描述:给定一个大小为N的数组arr[],计算数组元素的和,再将一个最小的数 (应大于0)加上去,使数组的和变为偶数,输出这个数。比如arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9},则应该加1。
输入格式:第一行输入数组长度N,第二行输入数组元素,正整数, 空格分隔。
输出格式:输出整型
输入样例:8
1 2 3 4 5 6 7 8
输出样例:2
参考程序:
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e6 + 10;
int main()
{
int n, a[N], count = 0;
cin >> n;
for(int i = 1; i <= n; i ++)
{
cin >> a[i];
if(a[i] % 2)
count = (count + 1) % 2;
}
sort(a + 1, a + n + 1);
for(int j = 1; j <= n; j ++)
if((a[j] + count) % 2 == 0)
{
cout << a[j] << endl;
break;
}
return 0;
}