본문 바로가기
알고리즘/백준

[JAVA]백준_3985_롤케이크

by 박 현 황 2021. 2. 25.

문제링크

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.util.Scanner;

public class Main {

	public static void main(String[] args) {
		//첫째줄에 가장 많은 조각을 받을 것으로 기대하고 있던 방청객
		int people1=0;
		int max = 0;
		//둘째 줄에 실제로 가장 많은 조각을 받은 방청객
		int maxSum = Integer.MIN_VALUE;
		int people2=0;
		Scanner sc = new Scanner(System.in);
		int L = sc.nextInt(); //롤케이크의 길이
		int N = sc.nextInt(); //방청객의 수
		
		int cake[] = new int[L];
		for(int i=0;i<N;i++) {
			int P = sc.nextInt();
			int K = sc.nextInt();
			int sum = 0;
			if((K-P)>max) {
				max = (K-P);
				people1 = i+1;
			}//가장 많은 조각을 받을 것으로 예상되는 사람
			for(int j=P-1;j<K;j++) {
				if(cake[j]==0) {
					cake[j] = (i+1);
					sum++;
				} //비어있으면 현재 방청객 번호 넣어주기
			}
			if(sum > maxSum) {
				people2 = (i+1);
				maxSum = sum;
			}
		}
		System.out.println(people1);
		System.out.println(people2);
	}
}

'알고리즘 > 백준' 카테고리의 다른 글

[JAVA]백준_17413_단어뒤집기  (0) 2021.02.25
[JAVA]백준_2810_컵홀더  (0) 2021.02.25
[JAVA]백준_2851_슈퍼 마리오  (0) 2021.02.25
[JAVA]백준_2559_수열  (0) 2021.02.25
[JAVA][C++]백준_2941_크로아티아 알파벳  (0) 2021.02.25