

# 直感的に分かる貪欲（下から組を作る）だと思うんだけど、これでdiff1185は数字が高すぎじゃない? 



n = int(eval(input()))

nums = [int(eval(input())) for _ in range(n)]



ans = 0

for idx, m in enumerate(nums):

    if m > 0:

        ans += m // 2

        # m -= (m // 2) * 2

        m = m & 1

    if m == 1 and idx != n-1 and nums[idx+1] >= 1:

        ans += 1

        m -= 1

        nums[idx+1] -= 1



print(ans)

# 直感的に分かる貪欲（下から組を作る）だと思うんだけど、これでdiff1185は数字が高すぎじゃない? 

# 貪欲で取っていくのを考えると、非ゼロの区間が連続する場合、その連続に対して下からペアを作って、最後に0か1だけ残ることがわかり、

# 単純に書ける。こんなふうに。



n = int(eval(input()))

nums = [int(eval(input())) for _ in range(n)]



ans = 0

temp = 0

for m in nums:

    if m == 0:

        ans += temp // 2

        temp = 0

    else:

        temp += m

ans += temp // 2

print(ans)

# 直感的に分かる貪欲（下から組を作る）だと思うんだけど、これでdiff1185は数字が高すぎじゃない?
n = int(eval(input()))
nums = [int(eval(input())) for _ in range(n)]
ans = 0
for idx, m in enumerate(nums):
    if m > 0:
        ans += m // 2
        # m -= (m // 2) * 2
        m = m & 1
    if m == 1 and idx != n - 1 and nums[idx + 1] >= 1:
        ans += 1
        m -= 1
        nums[idx + 1] -= 1
print(ans)

# 直感的に分かる貪欲（下から組を作る）だと思うんだけど、これでdiff1185は数字が高すぎじゃない?
# 貪欲で取っていくのを考えると、非ゼロの区間が連続する場合、その連続に対して下からペアを作って、最後に0か1だけ残ることがわかり、
# 単純に書ける。こんなふうに。
n = int(eval(input()))
nums = [int(eval(input())) for _ in range(n)]
ans = 0
temp = 0
for m in nums:
    if m == 0:
        ans += temp // 2
        temp = 0
    else:
        temp += m
ans += temp // 2
print(ans)

+# 貪欲で取っていくのを考えると、非ゼロの区間が連続する場合、その連続に対して下からペアを作って、最後に0か1だけ残ることがわかり、 +# 単純に書ける。こんなふうに。 -for idx, m in enumerate(nums): -    if m > 0: -        ans += m // 2 -        # m -= (m // 2) * 2 -        m = m & 1 -    if m == 1 and idx != n - 1 and nums[idx + 1] >= 1: -        ans += 1 -        m -= 1 -        nums[idx + 1] -= 1 +temp = 0 +for m in nums: +    if m == 0: +        ans += temp // 2 +        temp = 0 +    else: +        temp += m +ans += temp // 2