[백준] 13458 시험 감독
https://www.acmicpc.net/problem/13458
13458번: 시험 감독
첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)
www.acmicpc.net
문제 자체에 대한 해결방법은 매우 쉬운 문제였다. 하지만 재출할 때마다 계속 틀렸다고 나와서 구글에서 정답자들의 풀이를 좀 찾아봤는데 문제는 자료형이었다. 감독관의 최대 크기가 int형 자료 범위를 넘어갈 수도 있기 때문에 long으로 cnt변수를 바꿔 선언해주니 금방 해결할 수 있었다.
문제 및 입출력
예제
코드
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long cnt = 0;
int[] test = new int[n];
for(int i=0; i<n; i++)
{
test[i] = sc.nextInt();
}
int b = sc.nextInt();
int c = sc.nextInt();
for(int i=0; i<n; i++)
{
// 총감독관은 무조건 1명 필요
test[i] -= b;
cnt++;
// b명을 빼고도 나머지 인원이 남아있을 때는 부감독관에 c명만큼 배정
if(test[i]>=0)
{
long temp = test[i]/c;
cnt += temp;
test[i] -= c*temp;
if(test[i]!=0)
{
cnt++;
}
}
}
System.out.println(cnt);
sc.close();
}
}