C로 구현한 13458번 시험 감독 문제 풀이입니다.
https://www.acmicpc.net/problem/13458
#include <stdio.h>
int arr[1000001];
int main() {
int n, a, b;
int temp, temp1, temp2;
long long result = 0;
scanf("%d", &n);
for(int i=0; i<n; i++) {
scanf("%d", &arr[i]);
}
scanf("%d %d", &a, &b);
result = n;
for(int i=0; i<n; i++) {
temp = arr[i] - a;
if(temp > 0) {
temp1 = temp/b;
temp2 = temp%b;
if(temp2 > 0) {
temp2 = 1;
}
result += temp1 + temp2;
}
}
printf("%lld\n", result);
}
시험장에 있는 총 감독관의 수는 n명이기 때문에 변수 result에 n을 먼저 할당한다.
반복문을 통해 변수 temp에 각 시험장에 있는 응시자의 수 - 총감독관이 감시할 수 있는 응시자 수 를 계산하여 할당하고
그 값이 0보다 크면 변수 temp1에 부감독관이 감시할 수 있는 응시자 수로 나눈 몫을 할당하고
변수 temp2에는 나머지 값을 할당한다.
그 후 다시 조건문을 통해 나머지 값이 0보다 크면 1로 다시 갱신해준다.
result 값에 temp1과 temp2를 더한 값을 누적해가는 방식으로 반복하고, 최종적으로 result 값을 출력한다.
'백준(C언어) 풀이 > 수학' 카테고리의 다른 글
백준(C) 1009번 분산처리 풀이 (0) | 2021.09.27 |
---|---|
백준(C) 2455번 지능형 기차 풀이 (0) | 2021.09.24 |
백준(C) 1476번 날짜 계산 풀이 (0) | 2021.09.24 |
백준(C) 3053번 택시 기하학 풀이 (0) | 2021.09.23 |
백준(C) 3046번 R2 풀이 (0) | 2021.09.23 |