Problem Solving/Baekjoon
[백준] 27940 가지 산사태 - Greedy / Java
graycode
2024. 2. 11. 13:15
• 문제 링크
27940번: 가지 산사태
첫째 줄에 농장의 층수 $N$, 비가 오는 횟수 $M$, 각 층이 버틸 수 있는 빗물의 양을 나타내는 정수 $K$가 주어진다. $(1 \le N \le 10^5;$ $1 \le M \le 10^6;$ $1 \le K \le 2 \times 10^9)$ 둘째 줄부터 $M$개의 줄에 걸
www.acmicpc.net
• 풀이 코드
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
read();
int m = read(), k = read();
int sum = 0;
for (int i = 0; i < m; i++) {
read();
sum += read();
if (sum > k) {
sb.append(i + 1).append(" 1");
break;
}
}
bw.write(sb.length() > 0 ? sb.toString() : "-1");
bw.flush();
}
private static int read() throws IOException {
int c, n = System.in.read() & 15;
while ((c = System.in.read()) > 32) n = (n << 3) + (n << 1) + (c & 15);
return n;
}
}