250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파티션 크기 조정
- 백준13458
- 코테준비
- 23288
- 삼성역테
- 전화번호속의암호
- BFS
- 자바 코테
- 에라토스테네스의채
- 완탐
- 중복조합
- 백준
- java
- 자바
- 정보처리기사
- 알고리즘개념
- 정올 1620
- 주사위굴리기2
- 순열
- 코테
- 볼륨 만들기
- N과M
- Bfs와DFS
- D드라이브생성
- 재귀함수
- 완전탐색
- 백준15652
- 알고리즘
- 중복순열
- 백준2251
Archives
- Today
- Total
뚱땅뚱땅
[문제] 백준 13458번 시험 감독 - 자바 본문
728x90
https://www.acmicpc.net/problem/13458
# 주의할 점 - 변수의 범위
int형의 범위는 대략 20억까지 커버된다.
이 문제에서는 시험장의 개수인 N이 100만까지고, 시험장마다의 응시자 수도 100만까지다.
따라서, 총 응시자는 100만 * 100만 > 20억 이고, 총감독관과 부감독관이 1명씩 감독가능한 경우 전체 감독자 수는 int형 범위를 넘게 된다. 따라서 long형 변수가 필요하다.
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine()); // 시험장 개수
int[] arr = new int[N]; // 각 시험장마다의 응시자 수
StringTokenizer st = new StringTokenizer(in.readLine(), " ");
for(int i=0;i<N;i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(in.readLine(), " ");
int B = Integer.parseInt(st.nextToken()); // 총감독이 관리가능한 학생 수
int C = Integer.parseInt(st.nextToken()); // 부감독이 관리가능한 학생 수
long total = 0;
for(int i=0;i<N;i++) {
total++;
int remain = arr[i]-B; // 전체 인원 - 총감독관이 감시가능한 인원
if(remain<=0) continue; // 남는 사람이 없으면 부감독관 필요 X
// 부감독관 수
total += remain/C;
if(remain%C != 0) total++;
}
System.out.println(total);
}
}
728x90
'알고리즘 > 삼성 SW역량테스트 기출' 카테고리의 다른 글
[문제] 백준 17822번 원판 돌리기 (0) | 2021.04.24 |
---|---|
[문제] 백준 3190번 뱀 (0) | 2021.03.09 |
Comments