NC222458. [USACOJan2021B]EvenMoreOddPhotos
描述
输入描述
The first line of input contains N. The next line contains N space-separated integers giving the breed IDs of the N cows.
输出描述
The maximum possible number of groups in Farmer John's photo. It can be shown that at least one feasible grouping exists.
示例1
输入:
7 1 3 5 7 9 11 13
输出:
3
说明:
In this example, one way to form the maximum number of three groups is as follows. Place 1 and 3 in the first group, 5, 7, and 9 in the second group, and 11 and 13 in the third group.示例2
输入:
7 11 2 17 13 1 15 3
输出:
5
说明:
In this example, one way to form the maximum number of five groups is as follows. Place 2 in the first group, 11 in the second group, 13 and 1 in the third group, 15 in the fourth group, and 17 and 3 in the fifth group.C++ 解法, 执行用时: 3ms, 内存消耗: 408K, 提交时间: 2021-11-15 14:52:01
#include <iostream> using namespace std; int main(void) { int N, O = 0, E = 0; cin >> N; for (int i = 0, x; i < N; i++) { cin >> x; E += 1 ^ (x % 2), O += (x % 2); // if (x % 2 == 0) // E++; // else // O++; } while (O > E) O = O - 2, E++; E = min(E, O + 1); // if (E > O + 1) // E = O + 1; cout << E + O << endl; }