Problem:


Product Sale Lines

Problem

ウニクロ卯月さんと目黒凛さんはSEARIGHT LIVE FESの物販に来ている。下図のように、物販列は二列からなり、横にW人、縦にH人並べる大きさでコの字の形をしている。列の先頭の人は買い物をした後に列からはけ、同じ列の後ろの人々はそれぞれ一人分ずつ列を詰める。

二人は最初に物販列の最後尾に隣同士で、それぞれ違う列に（下図オレンジと濃い青色の位置）並んでいる。二人はとても仲がよいため、常にできるだけ近くにいたい。しかし、人のはけ方は列によって違うため、違う列に並んでいる二人の位置は離れてしまう可能性がある。

あなたの仕事は、列のはけ方が与えられたとき、二人が隣同士になる回数を求めることである。
ただし、二人ともコの字の角にいる（上図の黒色の状態の）ときは、隣同士とみなさない。また、並んだ直後は隣同士に並んでいるが、これは数えない。

Input

入力は以下の形式で与えられる。

W H
N
p1 p2 ... pN

1行目に列の大きさを表す整数WとHが空白区切りで与えられる。Wはコの字の横に並べる外側の人数を、Hは縦に並べる外側の人数を表す。2行目に人が一人どちらかの列からはける回数Nが与えられる。3行目には列のはけ方についての情報p1...pNが空白区切りで与えられる。piに’0’または’1’であり、’0’のとき、外側の人が一人はけることを、’1’のとき内側の人が一人はけることを表す。ただし、ウニクロ卯月さんまたは目黒凛さんが列から出ることはない。

Constraints

  
4 ≤ W ≤ 100

  
4 ≤ H ≤ 100

  
0 ≤ N ≤ 100

Output

二人が隣同士になる回数を一行に出力せよ。

Sample Input 1

11 11
5
0 0 0 0 0

Sample Output 1

0

Sample Input 2

11 11
5
0 0 1 1 1

Sample Output 2

1



Sample input:
11 11
5
0 0 0 0 0


Sample output:
0

Submission status: Wrong Answer

Solution code:
# AOJ 1575: Product Sale Lines
# Python3 2018.7.13 bal4u

W, H = map(int, input().split())
N = int(input())
p = list(map(int, input().split()))
ans = x = y = 0
for x in p:
	if x == 0: x += 1
	else: y += 1
	if x < W-1:
		if x == y: ans += 1
	elif x == W-1: pass
	elif x < W+H-2:
		if x == y+2: ans += 1
	elif x == W+H-2: pass
	else:
		if x == y+4: ans += 1
print(ans)

Submission status: Wrong Answer

Solution code:
h, w = map(int, input().split())
n = int(input())
a = list(map(int, input().split()))
u, s, c = 0, 0, 0
for i in range(n):
    u += a[i]
    s += 1- a[i]
    if u <= w - 2 and u == s:c += 1
    elif w - 2 <= u and u <= w + h - 5 and u + 2 == s:c += 1
    elif w + h - 5 <= u and u + 4 == s:c += 1
print(c)

Submission status: Wrong Answer

Solution code:
h, w = map(int, input().split())
n = int(input())
a = list(map(int, input().split()))
u, s, c = 0, 0, 0
for i in range(n):
    u += a[i]
    s += 1- a[i]
    if u <= w - 2 and u == s:c += 1
    elif w - 2 <= u and u <= w + h - 5 and u + 2 == s:c += 1
    elif w + h - 5 <= u and u + 5 == s:c += 1
print(c)

Submission status: Wrong Answer

Solution code:
h, w = map(int, input().split())
n = int(input())
a = list(map(int, input().split()))
u, s, c = 0, 0, 0
for i in range(n):
    u += a[i]
    s += 1- a[i]
    if u <= w - 2 and u == s:c += 1
    elif w - 2 <= u and u <= w + h - 5 and u + 2 == s:c += 1
    elif w + h - 5 <= u and u + 3 == s:c += 1
print(c)

Submission status: Wrong Answer

Solution code:
h, w = map(int, input().split())
n = int(input())
a = list(map(int, input().split()))
u, s, c = 0, 0, 0
for i in range(len(a)):
    u += a[i]
    s += 1- a[i]
    if u < w - 2:
        if u == s:
            c += 1
    elif u == w - 2:
        if u == s or u + 2 == s:
            c += 1
    elif u < w + h - 5:
        if u + 2 == s:
            c += 1
    elif u == w + h - 5:
        if u + 2 == s or u + 4 == s:
            c += 1
    elif u + 4 == s:c += 1
print(c)

Submission status: Wrong Answer

Solution code:
h, w = map(int, input().split())
n = int(input())
a = list(map(int, input().split()))
u, s, c = 0, 0, 0
for i in range(len(a)):
    u += a[i]
    s += 1- a[i]
    if u < w - 2:
        if u == s:
            c += 1
    elif u == w - 2:
        if u == s or u + 2 == s:
            c += 1
    elif u < w + h - 5:
        if u + 2 == s:
            c += 1
    elif u == w + h - 5:
        if u + 2 == s or u + 4 == s:
            c += 1
    else:
        if u + 4 == s:
            c += 1
print(c)

Submission status: Wrong Answer

Solution code:
h, w = map(int, input().split())
n = int(input())
a = list(map(int, input().split()))
u, s, c = 0, 0, 0
for i in range(len(a)):
    if a[i] == 1:
        u += 1
    elif a[i] == 0:
        s += 1
    if u < w - 2:
        if u == s:
            c += 1
    elif u == w - 2:
        if u == s or u + 2 == s:
            c += 1
    elif u < w + h - 5:
        if u + 2 == s:
            c += 1
    elif u == w + h - 5:
        if u + 2 == s or u + 4 == s:
            c += 1
    else:
        if u + 4 == s:
            c += 1
print(c)

Submission status: Accepted

Solution code:
# AOJ 1575: Product Sale Lines
# Python3 2018.7.13 bal4u

W, H = map(int, input().split())
N = int(input())
P = list(map(int, input().split()))
ans = x = y = 0
for p in P:
	if p == 0: x += 1
	else: y += 1
	if x < W-1:
		if x == y: ans += 1
	elif x == W-1: pass
	elif x < W+H-2:
		if x == y+2: ans += 1
	elif x == W+H-2: pass
	else:
		if x == y+4: ans += 1
print(ans)

Submission status: Accepted

Solution code:
w,h = map(int, input().split())
n = int(input())
p = list(map(int, input().split()))
u = m = cnt = 0
for i in range(n):
    if p[i] == 0:
        u += 1
    else:
        m += 1
    if u <= w-2:
        if u == m:
            cnt += 1
    elif w <= u <= w+h-3:
        if u == m+2:
            cnt += 1
    elif h+h-1 <= u:
        if u == m+4:
            cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
pos = [[0,0], [1,0]]
way = [[0,1], [0,1]]
ans = 0
w, h = map(int, input().split())
n = int(input())
li = list(map(int, input().split()))
for p in li:
    ni = pos[p][0]+way[p][0]
    nj = pos[p][1]+way[p][1]
    if p == 0:
        if nj >= w or ni >= h:
            way[p][0],way[p][1]=way[p][1],-way[p][0]
            ni = pos[p][0]+way[p][0]
            nj = pos[p][1]+way[p][1]
    else:
        if nj >= w-1 or ni >= h-1:
            way[p][0],way[p][1]=way[p][1],-way[p][0]
            ni = pos[p][0]+way[p][0]
            nj = pos[p][1]+way[p][1]
    pos[p][0] = ni
    pos[p][1] = nj
    if abs(pos[0][0]-pos[1][0])+abs(pos[0][1]-pos[1][1]) == 1:
        ans += 1
print(ans)