ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
์ ์ ๋ค๋ฃฌ๋ถ๋ถ์์ด์ ํฉ 2์ ์ ์ฌํ ๋ฌธ์ ์ด๋ค. ๋ถ๋ถ์์ด์ ํฉ 2 ๋ฌธ์ ๋ ์ ๋ ฅ๋๋ ์์ด์ ์ง์ ์ ๋ฐ์ผ๋ก ๋๋์ด ์ฒ๋ฆฌํ์ฌ์ผ ํ์ง๋ง, ํด๋น ๋ฌธ์ ๋ ์ด๋ฏธ A, B๋ผ๋ ๋ฐฐ์ด์ ๋๋์ด์ ์ ๋ ฅ๋๋ค. ์ ๋ ฅ๋๋ ๋ฐฐ์ด์ ํฉ ์ค, T์ ์ผ์นํ๋ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ๋จํ๊ณ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค.
๋ถ๋ถ์์ด์ ํฉ 2 ๋ฌธ์ ์ ๋์ผํ ๋ก์ง์ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์์ ๋ฌธ์ ์ฒ๋ผ ๋ฐฐ์ด A์ ๋ํด ๋ถ๋ถํฉ์ ๋์ ๋๋ฆฌ๋ฅผ ํตํด ์นด์ดํธํ๊ณ , ๋ฐฐ์ด B์์๋ t - B์ ๋ถ๋ถํฉ์ด ์๋ค๋ฉด ์ ๋ต์ผ๋ก ๋ฐ์ํ๋๋ก ํ์๋ค.
์ฝ๋
from sys import stdin
from collections import defaultdict
def subtotal(lst, length, direction):
global answer
for i in range(length):
cur_subtotal = 0
for j in range(i, length):
cur_subtotal += lst[j]
if direction == "left":
subtotal_a[cur_subtotal] += 1
else:
answer += subtotal_a[t - cur_subtotal]
if __name__ == "__main__":
answer = 0
subtotal_a = defaultdict(int)
t = int(stdin.readline())
n = int(stdin.readline())
a = list(map(int, stdin.readline().split()))
m = int(stdin.readline())
b = list(map(int, stdin.readline().split()))
subtotal(a, n, "left")
subtotal(b, m, "right")
print(answer)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 1062 ๊ฐ๋ฅด์นจ (0) | 2020.08.18 |
---|---|
๋ฐฑ์ค: 7453 ํฉ์ด 0์ธ ๋ค ์ ์ (0) | 2020.08.17 |
๋ฐฑ์ค: 1208 ๋ถ๋ถ์์ด์ ํฉ 2 (0) | 2020.08.16 |
๋ฐฑ์ค: 1182 ๋ถ๋ถ์์ด์ ํฉ (0) | 2020.08.15 |
๋ฐฑ์ค: 1644 ์์์ ์ฐ์ํฉ (0) | 2020.08.14 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ