반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 최소 스패닝 트리 자바
- 가운데 글자 가져오기 자바
- 프로그래머스 가운데 글자 가져오기 자바
- docker 완전 삭제
- 최단 경로 알고리즘
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 트리의 지름 java
- 핸즈온 머신러닝
- m1 docker
- codeup 1020 java
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 트리의 지름 자바
- docker 삭제
- 가운데 글자 가져오기 java
- 나누어 떨어지는 숫자 배열 python
- 청년 AI Big Data 아카데미 13기
- 최소 스패닝 트리
- 프로그래머스 가운데 글자 가져오기 python
- 프로그래머스 가운데 글자 가져오기 파이썬
- m1 docker install
- 가운데 글자 가져오기 파이썬
- 코드업 1020 자바
- 청년 Ai Big Data 아카데미
- docker remove
- 코드업 1020 java
- 나누어 떨어지는 숫자 배열 java
- codeup 1020 자바
- 빅데이터분석기사
- 빅분기실기
- 가운데 글자 가져오기 python
Archives
- Today
- Total
NineTwo meet you
[백준/파이썬] 1202 보석 도둑 본문
반응형
문제
세계적인 도둑 상덕이는 보석점을 털기로 결심했다.
상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다.
상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다.
가방에는 최대 한 개의 보석만 넣을 수 있다.
상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000)
다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000)
다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci ≤ 100,000,000)
모든 숫자는 양의 정수이다.
출력
첫째 줄에 상덕이가 훔칠 수 있는 보석 가격의 합의 최댓값을 출력한다.
예제 입력 1
3 2
1 65
5 23
2 99
10
2
예제 출력 1
164
설명
해당 문제는 그리디 문제로 우선순위 큐를 이용해 해결했다.
일단 가방의 무게를 오름차순으로 정렬하고 가방에 담을 수 있는 것을 다 우선순위 큐에 넣고 한 개씩 앞에서 부터 빼서 더하면 된다.
근데 해당 문제가 분명 논리가 맞는거 같은데 계속 시간 초과가 떠서 다른 사람의 풀이를 봐도 비슷한데
도제체 뭐가 문제지 고민했었다.
문제는 입력받을때 input을 sys.stdin.readline()으로 바꾸니까 해결되었다...ㅎㅎ
코드
반응형
'프로그래밍 문제 > 백준' 카테고리의 다른 글
[백준/자바] 1068 트리 (0) | 2021.04.28 |
---|---|
[백준/자바] 15988 1, 2, 3 더하기 3 (0) | 2021.04.27 |
[백준/파이썬] 1715 카드 정렬하기 (0) | 2021.02.24 |
[백준/파이썬] 1744 수 묶기 (0) | 2021.02.24 |
[백준/파이썬] 2217 로프 (0) | 2021.02.24 |
Comments