Jun's Development Journey
[BOJ] 3985번 롤 케이크 본문
문제
https://www.acmicpc.net/problem/3985
3985번: 롤 케이크
첫째 줄에 롤 케이크의 길이 L (1 ≤ L ≤ 1000)이 주어진다. 둘째 줄에는 방청객의 수 N (1 ≤ N ≤ 1000)이 주어진다. 다음 N개 줄에는 각 방청객 i가 종이에 적어낸 수 Pi와 Ki가 주어진다. (1 ≤ Pi ≤ Ki
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.*;
import java.util.StringTokenizer;
import java.util.Map.*;
public class BOJ_3985 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int L = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
int[][] want = new int[N+1][N+1];
int[] cnt = new int[N+1];
boolean[] visited = new boolean[L+1];
int ori = -1, change = -1, idx1=-1, idx2=-1;
for(int i=1;i<=N;i++){
st = new StringTokenizer(br.readLine());
want[i][0] = Integer.parseInt(st.nextToken());
want[i][1] = Integer.parseInt(st.nextToken());
if(ori<(Math.abs(want[i][0]-want[i][1])+1)){
ori = (Math.abs(want[i][0]-want[i][1])+1);
idx1 = i;
}
for(int j=want[i][0];j<=want[i][1];j++){
if(!visited[j]){
cnt[i]++;
visited[j] = true;
}
}
}
sb.append(idx1+"\n");
for(int i=1;i<=N;i++){
if(change< cnt[i]){
change = cnt[i];
idx2 = i;
}
}
sb.append(idx2+"\n");
System.out.println(sb);
}
}
'BOJ > Implement' 카테고리의 다른 글
[BOJ] 13458번 시험 감독 (0) | 2021.05.26 |
---|---|
[BOJ] 17827번 달팽이 리스트 (0) | 2021.05.12 |
[BOJ] 20055번 컨베이어 벨트 위의 로봇 (0) | 2021.04.15 |