2022.5.9 AcWing每日一题

题目链接 https://www.acwing.com/problem/content/3362/

难度:签到
小思维 + 边界处理

#include <bits/stdc++.h>
using namespace std;

int st[5];
int n;

int main() {
	scanf("%d", &n);

	for (int i = 1; i <= n; i++) {
		int tmp;
		scanf("%d", &tmp);
		st[tmp % 2]++;
	}

	int minn = min(st[0], st[1]);
	int ans = 2 * minn;

	if (st[1] > st[0]) {
		int d = st[1] - st[0];
		ans += (d / 3) * 2;
		d %= 3;
		if (d == 2) {
			ans ++;
		} else if (d == 1) {
			ans --;
		}
	} else {
		ans++;
	}

	printf("%d\n", ans);

	return 0;
}

posted @ 2022-05-09 09:30  superPG  阅读(18)  评论(0编辑  收藏  举报