链接:https://ac.nowcoder.com/acm/contest/332/D
题意:
小B喜欢美食。
现在有n个美食排成一排摆在小B的面前,依次编号为1..n,编号为i的食物大小为 a[i] ,即足够小B吃 a[i] 口。 小B每次会吃两口,这两口要么是编号相同的美食,要么是编号之差的绝对值为1的美食。 小B想知道,她最多能吃几次?思路:
偶数全吃,单数吃到剩最后一个,下一个有就一起吃。
代码:
#includeusing namespace std;typedef long long LL;const int MAXN = 1e5 + 10;int a[MAXN];int main(){ int n; cin >> n; for (int i = 1;i <= n;i++) cin >> a[i]; int w = 1; LL res = 0; while (w <= n) { if (a[w] % 2 == 0) { res += a[w] / 2; } else { if (w == n) { res += a[w] / 2; break; } res += a[w] / 2; if (a[w + 1] > 0) { res++; a[w + 1]--; } } w++; } cout << res << endl; return 0;}