ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
1912๋ฒ: ์ฐ์ํฉ
์ฒซ์งธ ์ค์ ์ ์ n(1 โค n โค 100,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ n๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ง๋ค. ์๋ -1,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
www.acmicpc.net
๋ฌธ์ ํ์ด
๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ํตํด, ํ๋ฒ์ ๊ณ์ฐ์ผ๋ก ์ฐ์ํฉ ์ค์ ์ต๋ ๊ฐ์ ์ฐพ์ ์ ์๋ค. ํ์ฌ ์์ด ๊ฐ์ด ์์ ๊ฐ๊ณผ ๋ํ ๊ฒ ๋ณด๋ค ๊ฐ์ด ํฌ๋ฉด ๊ทธ๋๋ก ์ ์งํ๊ณ ์๋ ๊ฒฝ์ฐ, ์์ ํฉ์ฐ ๊ฐ์ผ๋ก ๊ฐฑ์ ํ๋ค. ๋ง๋ก๋ ์ ์ดํด๊ฐ ์๋์ง๋ง ๋ฌธ์ ์์์์ ์ต๋ ๊ฐ์ ๊ตฌํ๋ ๊ณผ์ ์ ๋ณด๋ฉด ์ฝ๊ฒ ์ดํดํ ์ ์๋ค.
Origin | 10 | -4 | 3 | 1 | 5 | 6 | -35 | 12 | 21 |
Round 1 | 10 | 6 | |||||||
Round 2 | 10 | 6 | 9 | ||||||
Round 3 | 10 | 6 | 9 | 10 | |||||
Round 4 | 10 | 6 | 9 | 10 | 15 | ||||
Round 5 | 10 | 6 | 9 | 10 | 15 | 21 | |||
Round 6 | 10 | 6 | 9 | 10 | 15 | 21 | -14 | ||
Round 7 | 10 | 6 | 9 | 10 | 15 | 21 | -14 | 12 | |
Round 8 | 10 | 6 | 9 | 10 | 15 | 21 | -14 | 12 | 33 |
- ๋์ ๋ ๊ฐ์ด ํ์ฌ ์์ด ๊ฐ(์ธ๋ฑ์ค) ๋ณด๋ค ํฌ๋ค๋ฉด ๋์ ๋ ์๋ก์ด ๊ฐ์ผ๋ก ๊ฐฑ์ ํ๋ค. (ํ๋์)
- ๋์ ๋ ๊ฐ์ด ํ์ฌ ์์ด ๊ฐ ๋ณด๋ค ์๋ค๋ฉด ํ์ฌ ๊ฐ์ ์ ์งํ๋ค (๋นจ๊ฐ์)
- ์ด์ ๊ฐ์ ๋ฐฉ์์ ํตํด ๋ ์ด์ ๊ฐ์ด ์ฆ๊ฐํ์ง ์๋ ๋ถ๋ถ์ ๋ํ ๋ถ๋ถํฉ๊ณผ ๊ทธ ์ดํ์ ๋ถ๋ถํฉ์ ๊ณ์ฐํ ์ ์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
n = int(stdin.readline())
nums = list(map(int, stdin.readline().split()))
for i in range(1, n):
nums[i] = max(nums[i], nums[i - 1] + nums[i])
print(max(nums))
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 15988 1, 2, 3 ๋ํ๊ธฐ 3 (0) | 2020.07.02 |
---|---|
๋ฐฑ์ค: 1699 ์ ๊ณฑ์์ ํฉ (0) | 2020.07.01 |
๋ฐฑ์ค: 14002 ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด 4 (2) | 2020.07.01 |
๋ฐฑ์ค: 11053 ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (0) | 2020.06.30 |
๋ฐฑ์ค: 2193 ์ด์น์ (0) | 2020.06.30 |