소프티어 lv.3 Pipelined
알고리즘/java 2025. 4. 13. 16:29import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[] s = br.readLine().split(" ");
int[] i = Arrays.stream(s).mapToInt(Integer::parseInt).toArray();
Arrays.sort(i);
System.out.println((n -1) + i[i.length-1]);
}
}
https://softeer.ai/practice/9496
백준에서 문제를 복사해오면서 수식에서 에러가 생겼는지 문제 설명을 보면 도저히 무슨 말인지 이해할 수가 없다.
https://www.acmicpc.net/problem/30874
위의 문제로 푸는 게 이해가 쉽다.
si가 작은 숫자부터 정렬하면 숫자가 같을지라도 작업 타임라인이 겹칠 수가 없기 때문에 작은 숫자부터 큰 숫자 순으로 실행한다고 생각하면 된다.
2, 2, 3, 4가 있다고 가정하면
첫 1초에 0~1/2까지 2짜리 첫 작업을 배정하고
다음 1초에 위에서 배정한 2짜리 첫 작업이 1/2~2/2로 옮겨간다. 그리고 2짜리 두째 작업이 다시 0~1/2로 배정되는데 0 이상 1/2 미만에 위치하므로 1/2이상 2/2미만과 겹치지 않는다.
이런 식으로 이어지기 때문에 결국 답은 최대 수 + 배열의 길이 - 1 만큼의 시간이 나오게 된다.
[백트래킹] 백준 15649번 N과 M (1) [Java] (0) | 2025.04.17 |
---|---|
소프티어 lv.3 Hanyang Popularity Exceeding Competition (1) | 2025.04.15 |
[다이내믹 프로그래밍] 백준 1697번 숨바꼭질 [Java] (0) | 2025.04.09 |
[다이내믹 프로그래밍] 백준 1753번 최단경로 [Java] (0) | 2025.04.09 |
[비트연산] 소프티어 lv.3 CPTI [Java] (0) | 2025.04.07 |