백준 13458 c++ 시험감독

2023. 8. 1. 18:01알고리즘

13458 문제는 수학 문제이다. 간단한 문제인데 한번 틀렸다. 

 

이 문제에서 놓칠 수 있는 부분은 두가지이다.

1. 어떤 부분의 자료형을 큰 것을 쓸 지

2. 사소한 알고리즘 실수

 

1번 같은경우에는 시험 감독의 수만 unsigned int로 선언하면 된다.

내가 실수했던 부분은 v[i]=v[i]-B해서 총 감독관이 감시할 수 있는 응시생만큼을 뺀 후 0보다 작을 경우에 부감독관을 할당하지 않아도 되는 부분을 뺐다.

 

고치고 나서 맞았다

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int N, B, C;
unsigned long long total;
vector<int> v;

int main(void) {
	cin.tie(NULL);
	ios::sync_with_stdio(false);
	cin >> N;
	for (int i = 0;i < N;i++) {
		int x;
		cin >> x;
		v.push_back(x);
	}
	cin >> B >> C;
	for (int i = 0;i < N;i++) {
		v[i] = v[i] - B;
		total++;
		if (v[i] <= 0) {
			continue;
		}
		if (v[i] % C > 0) {
			total += v[i] / C + 1;
		}
		else {
			total += v[i] / C;
		}
	}
	cout << total << endl;
	return 0;
}

'알고리즘' 카테고리의 다른 글

백준 구슬 탈출 2 C++  (1) 2023.08.04
백준 14888 연산자 끼워넣기 c++  (1) 2023.08.01
백준 3190 뱀 c++  (2) 2023.08.01
백준 15686 치킨배달 c++  (2) 2023.07.27
백준 15683 c++  (0) 2023.07.26