题目大意:已知n个点的蘑菇数量,采到的蘑菇只能是偶数,你可以将某个点的蘑菇数量加1,请问最多采多少蘑菇?
显然,偶数的全部都可以采;对于奇数的,至多使用1次魔法增加1后进行采摘,贪心选择最大的奇数。如果没有奇数,魔法就不用了,用了会导致偶数少采一个。
#include <bits/stdc++.h>
using namespace std;
int n, m, i, j, k, s;
int main(){
scanf("%d", &n);
for(i=1; i<=n; i++){
scanf("%d", &k);
if(k&1) m = max(m, k);
else s += k;
}
if(m) s += m+1;
printf("%d\n", s);
return 0;
}


京公网安备 11010502036488号