Problem Solving/Baekjoon
[백준] 2217 로프 - Greedy / Java
graycode
2022. 5. 6. 23:45
• 문제 링크
2217번: 로프
N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
int[] rope = new int[n];
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
rope[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(rope);
int max = 0;
int w = 0;
for (int i = n - 1; i >= 0; i--) {
w = rope[i] * (n - i);
max = Math.max(w, max);
}
bw.write(max + "\n");
bw.flush();
}
}