1. 1 ~ N 까지에서 가장 Ki가 높은것들을 차례대로 될때까지 뺀다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/15708 | |
* BOJ 백준온라인져지 15708 미네크래프트 풀이 | |
*/ | |
public class Main { | |
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
public static void main(String args[]) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
String str1[] = br.readLine().split(" "); | |
int N = Integer.parseInt(str1[0]); | |
long T = Long.parseLong(str1[1]); | |
long P = Long.parseLong(str1[2]); | |
String str2[] = br.readLine().split(" "); | |
int sum = 0; | |
PriorityQueue<Integer> pq = new PriorityQueue<>(); | |
int max = 0; | |
for (int i = 0; i < N; i++) { | |
int K = Integer.parseInt(str2[i]); | |
sum += K; | |
pq.offer(-K); | |
while (sum > T - i * P) { | |
if (pq.size() == 0) break; | |
sum += pq.poll(); | |
} | |
max = Math.max(max, pq.size()); | |
} | |
bw.write(String.valueOf(max)); | |
bw.flush(); | |
} | |
} |
문제
미네크래프트에 있는 디디는 집을 짓기 위해 돌을 채취하려고 한다. N개의 바위들이 일렬로 놓여져 있고, 디디는 현재 첫번째 바위에 위치해 있다. 각 바위 i는 서로 같거나 다른 강도를 가지고 있어서, 바위에서 돌을 채취하기 위해 해야 하는 곡괭이질의 수 Ki 또한 서로 같거나 다르다. 디디는 돌을 채취하기 위해 다음과 같은 행동을 할 수 있다.
- 시간 1을 소비하여, 디디 앞에 있는 바위에 곡괭이질을 1번 한다.
- 시간 P를 소비하여, 이웃한 바위로 이동한다.
디디에게 T만큼의 시간이 주어졌을 때, 채취할 수 있는 돌의 최대 개수를 출력하는 프로그램을 작성하라.
입력
첫째 줄에 정수 N(1 ≤ N ≤ 105), T(1 ≤ T ≤ 109), P(1 ≤ P ≤ 105)가 공백으로 구분되어 주어진다.
둘째 줄에 바위 i(i = 1, 2, ..., N)를 채취하기 위해 필요한 곡괭이질의 수 Ki(1 ≤ Ki ≤ 105)가 공백으로 구분되어 주어진다.
출력
문제의 정답을 출력하라.
예제 입력 1
6 17 1 3 5 2 6 9 1
예제 출력 1
4
힌트
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 2858 기숙사 바닥 풀이 (0) | 2018.05.11 |
---|---|
BOJ 백준온라인져지 9827 아즈텍 피라미드 풀이 (0) | 2018.05.10 |
BOJ 백준온라인져지 15680 연세대학교 풀이 (0) | 2018.05.08 |
BOJ 백준온라인져지 2909 캔디 구매 풀이 (0) | 2018.05.07 |
BOJ 백준온라인져지 10709 기상캐스터 풀이 (0) | 2018.05.04 |