백준 13458

HR·2022년 6월 23일
0

알고리즘 문제풀이

목록 보기
50/50

백준 13458 : 시험 감독

  1. 방 개수만큼 감독 인원 초기화 (총감독은 한명씩)
  2. 루프 돌면서 남은인원/부감독감시인원 을 올림한 값을 더함
  3. 사이즈가 100만이라 중간에 int 범위를 넘어갈 수 있어서 long long형으로 선언해주는게 핵심!

정답 코드

#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std;

long long n, a[1000001], b, c;
long long ans;

void printArr() {
	for(int i=0; i<n; i++) {
		cout<<a[i]<<' ';
	}
}
 
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);	
	
	cin>>n;
	for(int i=0; i<n; i++) {
		cin>>a[i];
	}
	
	cin>>b>>c;

	for(int i=0; i<n; i++) {
		a[i] = max(int(a[i]-b), 0); //총감독관용 인원 제거 
	}
	
//	printArr();
//	cout<<'\n';
	
	ans=n; //총감독관은 교실에 한명씩
	
	for(int i=0; i<n; i++) {
		if(a[i]==0) { 
			continue;
		}
		else {			
			ans+=ceil(a[i]/(c*1.0));
		}
	} 
	
	cout<<ans<<'\n';
	

	return 0;
}

0개의 댓글