[BOJ][๐ŸŸก5][๋ฐฑ์ค€#06068] ์‹œ๊ฐ„ ๊ด€๋ฆฌํ•˜๊ธฐ

์ž‘์„ฑ:    

์—…๋ฐ์ดํŠธ:

์นดํ…Œ๊ณ ๋ฆฌ:

ํƒœ๊ทธ: , , ,

๋ฌธ์ œ ์ถœ์ฒ˜

BAEKJOON Online Judge #6068


๋ฌธ์ œ

์„ฑ์‹คํ•œ ๋†๋ถ€ ์กด์€ ์‹œ๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฑธ ๊นจ๋‹ฌ์•˜๋‹ค. ๊ทธ๋Š” N๊ฐœ์˜ ํ•ด์•ผํ•  ์ผ์—ย (1<=N<=1000) ์ˆซ์ž๋ฅผ ๋งค๊ฒผ๋‹ค.ย (์šฐ์œ ๋ฅผ ์งœ๊ณ , ๋งˆ๊ตฟ๊ฐ„์„ ์น˜์šฐ๊ณ , ๋‹ด์žฅ์„ ๊ณ ์น˜๋Š” ๋“ฑ์˜) ์กด์˜ ์‹œ๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ๊ทธ๋Š” ๋๋‚ด์•ผ๋งŒ ํ•˜๋Š” ์ผ ๋ชฉ๋ก์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์™„์„ฑ๋  ๋•Œ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ T_i(1<=T_i<=1,000) ๋ผ๊ณ  ํ•˜๋ฉฐ, ๋๋‚ด์•ผํ•˜๋Š” ์‹œ๊ฐ„์„ S_i(1<=S_i<=1,000,000) ์ด๋ผ ํ•œ๋‹ค. ๋†๋ถ€ ์กด์€ ํ•˜๋ฃจ์˜ ์‹œ์ž‘์„ t = 0์œผ๋กœ ์ •ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ ํ•  ๋•Œ๋Š” ๊ทธย ์ผ์„ ๋งˆ์น ย ๋•Œ ๊นŒ์ง€ ๊ทธ ์ผ๋งŒ ํ•œ๋‹ค.ย  ์กด์€ ๋Šฆ์ž  ์ž๋Š” ๊ฑธ ์ข‹์•„ํ•œ๋‹ค. ๋”ฐ๋ผ์„œย ์ œ ์‹œ๊ฐ„์— ๋๋‚ผ ์ˆ˜ ์žˆ๊ฒŒย ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ๋„์—์„œย ์กด์ดย ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ์ผ์–ด๋‚˜๋„ ๋˜๋Š” ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•˜๋ผ.


์ž…๋ ฅ

์ฒซ ์ค„์—๋Š” ์ผ์˜ ๊ฐœ์ˆ˜์ธ N์„ ๋ฐ›๊ณ  ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N+1์ค„๊นŒ์ง€ T_i์™€ S_i๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.ย 


์ถœ๋ ฅ

์กด์ด ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋งˆ์ง€๋ง‰ ์‹œ๊ฐ„์„ ์ถœ๋ ฅ ํ•˜๋ผ. ์กด์ด ์ œ์‹œ๊ฐ„์— ์ผ์„ ๋๋‚ผ ์ˆ˜ ์—†๋‹ค๋ฉด -1 ์„ ์ถœ๋ ฅํ•˜๋ผ.


์˜ˆ์ œ

์ž…๋ ฅ

4
3 5
8 14
5 20
1 16


์ถœ๋ ฅ

2


My Sol

def main():
    N = int(input())
    Q = []
    for _ in range(N):
        t, e = map(int, input().split())
        Q.append((e, t))
    Q.sort()

    tt = 0
    ret = 1e8
    for i in range(N):
        e, t = Q[i]
        if tt+t > e: return -1
        tt += t
        ret = min(ret, e-tt)
    return ret

print(main())

์ž˜ ์ƒ๊ฐํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

  1. ๊ณผ์ œ์˜ ์†Œ์š”์‹œ๊ฐ„(t)๊ณผ ๋งˆ๊ฐ๊ธฐํ•œ(e)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ Q์— ์ €์žฅํ•œ๋‹ค.
  2. ์ด๋ฅผ ์ •๋ ฌํ•œ๋‹ค.
  3. ๋”ฐ๋ผ์„œ ๋งˆ๊ฐ๊ธฐํ•œ์ด ๊ฐ€์žฅ ์–ผ๋งˆ ๋‚จ์ง€ ์•Š์€ ๊ณผ์ œ๋“ค๋ถ€ํ„ฐ ํ™•์ธํ•ด์„œ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ ํ˜„์žฌ์‹œ๊ฐ„์— ์†Œ์š”์‹œ๊ฐ„์„ ๋ˆ„์ ํ•˜๋ฉฐ ๋‚˜๊ฐ„๋‹ค.
  4. ์ด๋•Œ ์–ด๋– ํ•œ ๊ณผ์ œ์—์„œ ๋ˆ„์ ์‹œ๊ฐ„์— ๊ณผ์ œ ์†Œ์š”์‹œ๊ฐ„์„ ๋”ํ–ˆ์„ ๋•Œ ๋งˆ๊ฐ์‹œ๊ฐ„์„ ๋„˜์–ด๊ฐ€๋ฒ„๋ฆฐ๋‹ค๋ฉด ๋‹น์žฅ ์‹œ์ž‘ํ•ด๋„ ๊ณผ์ œ๋ฅผ ๋๋‚ด์ง€ ๋ชปํ•˜๋ฏ€๋กœ -1์„ returnํ•œ๋‹ค.
  5. ๊ฐ ๊ณผ์ œ๋งˆ๋‹ค ๋ˆ„์ ์‹œ๊ฐ„์— ์†Œ์š”์‹œ๊ฐ„์„ ๋”ํ•œ ๊ฐ’(tt)์ด ๋งˆ๊ฐ๊ธฐํ•œ๋ณด๋‹ค ์–ผ๋งˆ๋‚˜ ์ž‘์€์ง€ ๋งค๋ฒˆ ํ™•์ธํ•˜๋Š”๋ฐ, ์ด ์ฐจ์ด ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด ๊ฒฐ๊ณผ๊ฐ’์ด ๋œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ๋’ค๋กœ ๋ฏธ๋ฃจ๋Š”๋ฐ, ๋ชจ๋“  ๊ณผ์ œ๋Š” ๋งˆ๊ฐ๊ธฐํ•œ ์•ˆ์— ํ•ด์•ผํ•˜๋ฏ€๋กœ ๊ทธ ์ตœ์†Œ ์ฐจ์ด๋งŒํผ ๋’ค๋กœ ๋ฏธ๋ฃฌ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ์— ๋Œ€ํ•œ ์ ˆ์ฐจ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  6. ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค.


๊ฒฐ๊ณผ

๋งž์•˜์Šต๋‹ˆ๋‹ค!!


๋ชจ๋ฒ”๋‹ต์•ˆ

์ถœ์ฒ˜

# empty

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ