본문 바로가기
카테고리 없음

[테스트케이스추가] 백준 3079번: 입국심사 python 파이썬

by 지기_ 2021. 8. 6.
반응형

1. 문제

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

 

3079번: 입국심사

첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109)

www.acmicpc.net

 

2. 풀이

이분탐색

 

3. 구현

import sys
#sys.stdin=open('input.txt')

#@profile
def main():
    n,m = map(int, sys.stdin.readline().strip().split())
    tmp=n
    lis=[]
    while tmp:
        tmp-=1
        num = int(sys.stdin.readline().strip())
        lis.append(num)

    le = 0
    ri = m*min(lis)
    while le<ri:
        cnt=0
        mid = (le+ri)//2

        for i in lis:
            cnt+=(mid//i)
        if cnt<m:
            le = mid +1
        else:
            ri = mid
    sys.stdout.write(str(le))

if __name__=="__main__":
    main()

 

4. 반례 + 테스트케이스 추가

 

@hoonbae  님

1 1000000000
1000000000

답: 1000000000000000000 (10**8)

 

@ redsiwon 님

2 1
1
1

답: 1

 

18 6
6
2
21
19
4
27
7
18
5
1
14
29
21
12
13
19
8
17

답: 4

 

10 8
7 
3
16
5
18
2
13
12
10
17

답: 8

 

12 13 
8
27
6
3
10
5
11
14
21
19
12
8

답: 12

반응형

댓글