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

[๋ฐฑ์ค€] 14469๋ฒˆ ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๊ฐ„ ์ด์œ  3 (Python)

mallin 2024. 9. 5. 14:28

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

๐Ÿ“Œ ๋ฌธ์ œ

์ด์›ƒ ๋†์žฅ์˜ ์†Œ๊ฐ€ ๊ธธ์„ ๋งˆ๊ตฌ์žก์ด๋กœ ๊ฑด๋„ˆ๋Š” ๊ฒƒ์— ์ง„์ ˆ๋จธ๋ฆฌ๊ฐ€ ๋‚œ ์กด์€ ๊ทน๋‹จ์˜ ๊ฒฐ์ •์„ ๋‚ด๋ฆฐ๋‹ค. ๋†์žฅ ๋‘˜๋ ˆ์— ๋งค์šฐ ํฐ ์šธํƒ€๋ฆฌ๋ฅผ ์ง“๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ทผ์ฒ˜ ๋†์žฅ ์ถœ์‹ ์˜ ์†Œ๊ฐ€ ๋“ค์–ด์˜ฌ ์ผ์ด ๊ฑฐ์˜ ์—†๋‹ค. ์ด ์ผ๋กœ ์ฃผ๋ณ€ ์†Œ๋“ค์ด ๋ถ„๊ฐœํ•˜์˜€๋‹ค. ์นœ๊ตฌ๋„ค ์ง‘์— ๋†€๋Ÿฌ ๊ฐˆ ์ˆ˜ ์—†์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋งค๋…„ ์ฐธ๊ฐ€ํ•˜๋˜ ๊ตญ์ œ ์ – ์งœ๊ธฐ ์˜ฌ๋ฆผํ”ผ์•„๋“œ์—๋„ ์˜ฌํ•ด๋Š” ์ฐธ๊ฐ€ํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด์›ƒ ๋†์žฅ์˜ ์†Œ ์ค‘ ์กด์˜ ๋†์žฅ์— ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ๊ฐ€ ์กฐ๊ธˆ ์žˆ๊ธด ํ•˜์ง€๋งŒ, ๊ทธ๋“ค๋„ ์•ˆ์‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ์•„๋‹ˆ๋‹ค. ์กด์˜ ๋†์žฅ์— ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์€ ํ•˜๋‚˜๋ฐ–์— ์—†๊ณ , ๊ทธ ๋ฌธ์„ ํ†ต๊ณผํ•˜๋ ค๋ฉด ๊ฐ์‹œ๊ด€์˜ ๊ธธ๊ณ  ๊ธด ๊ฒ€๋ฌธ์„ ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๋งˆ๋ฆฌ์˜ ์†Œ๊ฐ€ ํ•œ ๋ฒˆ์— ๋“ค์–ด๊ฐ€๋ ค๊ณ  ํ•˜๋ฉด ์ค„์ด ๊ทธ ๋งŒํผ ๊ธธ์–ด์ง„๋‹ค.

N๋งˆ๋ฆฌ์˜ ์†Œ๊ฐ€ ์ด ๋†์žฅ์— ๋ฐฉ๋ฌธํ•˜๋Ÿฌ ์™”๋‹ค. ์†Œ๊ฐ€ ๋„์ฐฉํ•œ ์‹œ๊ฐ„๊ณผ ๊ฒ€๋ฌธ๋ฐ›๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ์†Œ๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค. (๋ฌผ๋ก  ๊ฐ™์„ ์ˆ˜๋„ ์žˆ๋‹ค.) ๋‘ ์†Œ๊ฐ€ ๋™์‹œ์— ๊ฒ€๋ฌธ์„ ๋ฐ›์„ ์ˆ˜๋Š” ์—†๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ์†Œ๊ฐ€ 5์ดˆ์— ๋„์ฐฉํ–ˆ๊ณ  7์ดˆ ๋™์•ˆ ๊ฒ€๋ฌธ์„ ๋ฐ›์œผ๋ฉด, 8์ดˆ์— ๋„์ฐฉํ•œ ๊ทธ ๋‹ค์Œ ์†Œ๋Š” 12์ดˆ๊นŒ์ง€ ์ค„์„ ์„œ์•ผ ๊ฒ€๋ฌธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋“  ์†Œ๊ฐ€ ๋†์žฅ์— ์ž…์žฅํ•˜๋ ค๋ฉด ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆฌ๋Š” ์ง€ ๊ตฌํ•ด๋ณด์ž.

 

๐Ÿ“Œ ์ž…๋ ฅ

์ฒซ ์ค„์— 100 ์ดํ•˜์˜ ์–‘์˜ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N์ค„์—๋Š” ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์†Œ์˜ ๋„์ฐฉ ์‹œ๊ฐ๊ณผ ๊ฒ€๋ฌธ ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ 1,000,000 ์ดํ•˜์˜ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค.

 

๐Ÿ“Œ ์ถœ๋ ฅ

๋ชจ๋“  ์†Œ๊ฐ€ ๋†์žฅ์— ์ž…์žฅํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ์†Œ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค.


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

์ผ๋ฐ˜์ ์ธ ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์†Œ์˜ ๋„์ฐฉ ์‹œ๊ฐ„๊ณผ ๊ฒ€๋ฌธ ์‹œ๊ฐ„์„ ์ž…๋ ฅ ๋ฐ›๋Š”๋ฐ์š”.

๋„์ฐฉ ์‹œ๊ฐ„์ด ๋˜์–ด์•ผ์ง€๋งŒ, ์†Œ๊ฐ€ ๊ฒ€๋ฌธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋„์ฐฉ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•ด์ค๋‹ˆ๋‹ค. 

 

์—ฌ๊ธฐ์„œ ํ‚คํฌ์ธํŠธ๋Š” ์ƒˆ๋กœ์šด ์†Œ๊ฐ€ ๊ฒ€๋ฌธ ๋ฐ›์œผ๋ ค๊ณ  ํ•  ๋•Œ ์ด์ „์— ๊ฒ€๋ฌธ ๋ฐ›๊ณ  ์žˆ๋˜ ์†Œ์˜ ๊ฒ€๋ฌธ์ด ๋๋‚ฌ๋ƒ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ์š”. 

 

์ด์ „์— ๊ฒ€๋ฌธ ๋ฐ›๊ณ  ์žˆ๋˜ ์†Œ์˜ ๊ฒ€๋ฌธ์ด ๋๋‚œ ๊ฒฝ์šฐ -> ๋„์ฐฉ์‹œ๊ฐ„ + ๊ฒ€๋ฌธ ์‹œ๊ฐ„ 

์ด์ „์— ๊ฒ€๋ฌธ ๋ฐ›๊ณ  ์žˆ๋˜ ์†Œ์˜ ๊ฒ€๋ฌธ์ด ๋๋‚˜์ง€ ์•Š์€ ๊ฒฝ์šฐ -> ์ด์ „ ๊ฒ€๋ฌธ์ด ๋๋‚˜๋Š” ์‹œ๊ฐ„ + ๊ฒ€๋ฌธ ์‹œ๊ฐ„

 

์œผ๋กœ ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

์ž์„ธํžˆ ๋ณด๋ฉด ๊ฒ€๋ฌธ์‹œ๊ฐ„์€ ๋™์ผํ•œ๋ฐ, ๋„์ฐฉ์‹œ๊ฐ„๊ณผ ์ด์ „ ๊ฒ€๋ฌธ์ด ๋๋‚˜๋Š” ์‹œ๊ฐ„๋งŒ ๋ฐ”๋€Œ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”.

๋‘˜ ์ค‘ ๋” ๋Šฆ์€ ์‹œ๊ฐ„์ด ๋‹ค์Œ ์†Œ๊ฐ€ ๊ฒ€๋ฌธ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ž„์œผ๋กœ max ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๋‹น ์‹œ๊ฐ„์„ ํŒ๋ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์ฝ”๋“œ

import sys
input = sys.stdin.readline

N = int(input())
times = [list(map(int, input().split())) for _ in range(N)]
times.sort(key=lambda x: x[0])

end_time = 0
for start, end in times:
    end_time = max(start, end_time) + end

print(end_time)