結果

問題 No.1606 Stuffed Animals Keeper
ユーザー O2MT
提出日時 2021-07-16 22:52:48
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 666 bytes
コンパイル時間 209 ms
コンパイル使用メモリ 82,696 KB
実行使用メモリ 65,664 KB
最終ジャッジ日時 2024-07-06 10:24:33
合計ジャッジ時間 3,897 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 11 WA * 37
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A =list(map(int,input().split()))
l = []
zero,one = 0,0

for a,i in zip(A,range(N)):
  if a == 0:
    zero += 1
  elif a == 1:
    one += 1
  else:
    if i != 0:
      l.append([zero,one])
      zero,one = 0,0
if zero != 0 or one != 0:
  l.append([zero,one])

ans = 0
zero,one = 0,0

if len(l) == 1:
  if l[0][0] != 0 and l[0][1] != 0:
    print(-1)
  else:
    print(0)
  exit()

for z,o in l:
  if z != 0 or o != 0:
    if z < zero:
      ans += (zero-z)//2
      zero -= z
    elif o < one:
      ans += (one-o)//2
      one -= o
    else:
      zero += z
      one += o

if (zero == 0 or one == 0) or zero == one:
  print(ans)
else:
  print(-1)
0