STUDY/Algorithm

[백준] 3985 롤케이크

sinawi95 2021. 2. 6. 23:59
728x90

www.acmicpc.net/problem/3985

 

3985번: 롤 케이크

첫째 줄에 롤 케이크의 길이 L (1 ≤ L ≤ 1000)이 주어진다. 둘째 줄에는 방청객의 수 N (1 ≤ N ≤ 1000)이 주어진다. 다음 N개 줄에는 각 방청객 i가 종이에 적어낸 수 Pi와 Ki가 주어진다. (1 ≤ Pi ≤ Ki

www.acmicpc.net

l=int(input()) # 롤케이크 길이
n=int(input()) # 방청객의 수

want=[]
max_if, max_real = 0, 0
idx_if, idx_real = 0, 0
for i in range(n):
    tmp = tuple(map(int,input().split()))
    if (tmp[1]-tmp[0]+1) > max_if:
        max_if = tmp[1]-tmp[0]+1
        idx_if = i+1
    want.append(tmp)
print(idx_if)

cake = [True]*l
for idx, rnge in enumerate(want):
    chk = 0
    for i in range(rnge[0]-1,rnge[1]):
        if cake[i]:
            cake[i]=False
            chk += 1
    if chk > max_real:
        max_real = chk
        idx_real = idx + 1
print(idx_real)
    

원하는 길이를 받아서 반복문으로 하나씩 지워나가는 방식이다.

'STUDY > Algorithm' 카테고리의 다른 글

[백준] 1193 분수찾기  (0) 2021.02.07
[백준] 2504 괄호의값  (0) 2021.02.07
[백준] 2386 도비의 영어공부  (0) 2021.02.06
[백준] 1334 다음 팰린드롬 수  (0) 2021.02.05
[백준] 1463 1로만들기  (0) 2021.02.05