Problem:

F: 茶会 (Tea Party)

ゆんさんは、会社でお茶会を開くことにした。

お店には $N$ セットのパンが売られていて、それぞれ $A_1, A_2, A_3, \dots, A_N$ 枚入っている。

ゆんさんは二つのパンを 1 組にしてをサンドウィッチを作ろうと考えた。

ゆんさんは几帳面なので、買ったパンが一枚も余らないようにしたい。

最大でいくつのサンドウィッチが作れるか計算せよ。

入力

1 行目には、整数 $N$ が与えられる。

2 行目には、$N$ 個の整数 $A_1, A_2, A_3, \dots, A_N$ が空白区切りで与えられる。

出力

作れるサンドウィッチの最大の個数を出力せよ。ただし、最後に改行を入れること。

制約

    
$N$ は $1$ 以上 $100$ 以下の整数

    
$A_1, A_2, A_3, \dots, A_N$ は $1$ 以上 $100$ 以下の整数

入力例1

5
2 3 5 6 7

出力例1

10

1, 3, 4, 5 番目のセットを買うと、パンが $20$ 枚手に入ります。

すべてのセットを買ってしまうとパンが $23$ 枚になって、余ってしまいます。

入力例2

4
3 5 6 8

出力例2

11



Sample input:
5
2 3 5 6 7


Sample output:
10

Submission status: Accepted

Solution code:
N=int(input())
A=list(map(int,input().split()))

A.sort()

if sum(A)%2==0:
    print(sum(A)//2)

else:
    for i in range(N):
        if A[i]%2==1:
            break

    print((sum(A)-A[i])//2)

Submission status: Accepted

Solution code:
n = int(input())
a = list(map(int, input().split()))

r = sum(a)
if r % 2 == 0:
  print(r // 2)
else:
  a.sort()
  for j in a:
    if (r - j) % 2 == 0:
      print((r-j) // 2)
      break

Submission status: Accepted

Solution code:
N = int(input())
A = [int(x) for x in input().split()]

A.sort()
ans = sum(A)
for a in A:
    if ans % 2 == 0 or a % 2 == 0:
        continue
    ans -= a

ans = ans//2
print(ans)

Submission status: Accepted

Solution code:
n = int(input())
a = list(map(int,input().split()))

o = []
ans = 0
for i in a:
    if i%2==1:
        o.append(i)
    else:
        ans += i//2

o.sort()
o.reverse()

for i in range(0,len(o)-1,2):
    b = o[i]+o[i+1]
    ans += b//2

print(ans)

Submission status: Accepted

Solution code:
N = int(input())
A = list(map(int, input().split()))
oc = 0
mi = 1e9
for a in A:
    if a % 2:
        oc += 1
        mi = min(mi, a)

print((sum(A) - [0, mi][oc % 2]) // 2)

Submission status: Accepted

Solution code:
n=int(input())
a=[int(x) for x in input().split()] 
if sum(a)%2==0:
  print(sum(a)//2)
else:
  s=0
  a.sort()
  for i in a:
    if i%2==1:
      s=i
      break
  print((sum(a)-s)//2)

Submission status: Accepted

Solution code:
n=int(input())
ls=list(map(int,input().split()))
kk=0
km=100

for i in range(n):
    if ls[i]%2==1:
        kk+=1
        if ls[i]<km:
            km=ls[i]
if kk%2==0:
    print(sum(ls)//2)
else:
    print((sum(ls)-km)//2)

Submission status: Accepted

Solution code:
_ = input()
A = [int(x) for x in input().split()]

S = sum(A)

if S % 2 == 0:
    print(S // 2)
else:
    print((S - min(x for x in A if x % 2)) // 2)

Submission status: Accepted

Solution code:
n = int(input())
a = list(map(int,input().split()))
if sum(a) % 2 == 0:
	print(sum(a) // 2)
else:
	a.sort()
	mi = 10000
	for i in a:
		if i % 2 == 1:
			mi = i
			break
	print((sum(a) - mi) // 2)

Submission status: Accepted

Solution code:
n=int(input())
a=list(map(int,input().split()))
if sum(a)%2==0:
    print(sum(a)//2)
else:
    a.sort()
    for i in a:
        if i%2==1:
            print((sum(a)-i)//2)
            break

Submission status: Accepted

Solution code:
n = int(input())
li = list(map(int,input().split()))
li.sort(reverse = True)
ki = 0
kifl = False
ans = 0
for a in li:
    if a%2 == 0:
        ans += a
    else:
        if(kifl == True):
            ans += ki+a
            kifl = False
        else:
            ki = a
            kifl = True
print(ans//2)

Submission status: Accepted

Solution code:
n = int(input())
li = list(map(int,input().split()))
li.sort(reverse = True)
ans = acc = 0
for x in li:
    if x%2 == 0:
        ans += x//2
    elif acc != 0:
        ans += (acc+x)//2
        acc = 0
    else:
        acc = x
print(ans)

Submission status: Accepted

Solution code:
n = input()
x = [int(i) for i in input().split()]
if sum(x) % 2 == 1:
    y = [i for i in x if i%2 == 1]
    print(int((sum(x) - min(y)) / 2))
else:
    print(int(sum(x)/2))

Submission status: Accepted

Solution code:
input();a=list(map(int,input().split()));b=sum(a);print((b-(min([x for x in a if x%2])if b%2 else 0))//2)