๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

[๋ฐฑ์ค€] 31964๋ฒˆ ๋ฐ˜ํ’ˆ ํšŒ์ˆ˜ (Python)

mallin 2025. 2. 12. 18:31

https://www.acmicpc.net/problem/1213

๐Ÿ“Œ ๋ฌธ์ œ

 

๐Ÿ“Œ ์ž…๋ ฅ

 

 

๐Ÿ“Œ ์ถœ๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์— ํŠธ๋Ÿญ์ด ๋ชจ๋“  ๋ฌผ๊ฑด์„ ํšŒ์ˆ˜ํ•˜๊ณ  ๋‹ค์‹œ ํƒ๋ฐฐ ํšŒ์‚ฌ๋กœ ๋Œ์•„์˜ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์‹œ๊ฐ„์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 


๐Ÿ“Œ ํ’€์ด ๋ฐฉ์‹ 

ํ•ด๋‹น ๋ฌธ์ œ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ‚คํฌ์ธํŠธ๋Š” ํŠธ๋Ÿญ์€ ๋ฐ˜๋“œ์‹œ ๊ฐ€์žฅ ๋จผ ์ง‘์—์„œ๋ถ€ํ„ฐ ์™•๋ณต์œผ๋กœ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค !!!!

๊ฐ€์žฅ ๋จผ ์ง‘์ด ์˜ˆ์ œ์™€ ๊ฐ™์ด 10 ์œ„์น˜์— ์œ„์น˜ํ•ด์žˆ๋‹ค๋ฉด ํŠธ๋Ÿญ์€ ์ ์–ด๋„ 20 ์‹œ๊ฐ„์€ ๊ฑธ๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— 

1. ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ์ง‘์„ ๊ธฐ์ค€์œผ๋กœ ์ถœ๋ฐœ 

2. ๊ฑฐ๋ฆฌ๋ฅผ ๋ˆ„์ ํ•ด์„œ ๋”ํ•ด์ค€๋‹ค. (์ด์ „ ์ง‘ ์œ„์น˜ - ์ด๋™ํ•œ ์ง‘ ์œ„์น˜) 

3. ์ด๋™ํ•œ ์ง‘์—์„œ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋ฉด ํ•ด๋‹น ์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ

4. ๋งˆ์ง€๋ง‰ ์ถœ๋ฐœ ์ง€์ ์œผ๋กœ ๋Œ์•„์˜ด

์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค


๐Ÿ“Œ ์ฝ”๋“œ

N = int(input())
houses = list(map(int, input().split()))
times = list(map(int, input().split()))

total_time = max(houses[-1], times[-1])
previous_house = houses[-1]

for i in range(N-2, -1, -1):
    total_time += (previous_house - houses[i])
    if times[i] > total_time:
        total_time = times[i]
    previous_house = houses[i]
    
total_time += previous_house
print(total_time)