백준 13458 c++

magicdrill·2024년 7월 18일

백준 문제풀이

목록 보기
398/673

백준 13458 c++

최악의 경우의 수에서 결과가 int형 크기를 넘을 수 있으므로 결과는 long long 타입으로 지정한다.

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

using namespace std;

void input_test(int* N, vector<int>& A, int* B, int* C)
{
	int i, j;

	cin >> *N;
	for (i = 0; i < *N; i++)
	{
		cin >> j;
		A.push_back(j);
	}
	cin >> *B >> *C;

	return;
}

void find_answer(vector<int>& A, int B, int C)
{
	long long count = 0;
	int i;

	for (i = 0; i < A.size(); i++)
	{
		if (A[i] - B > 0)
		{
			count++;
			A[i] = A[i] - B;
			if (A[i] % C == 0)
			{
				count += (A[i] / C);
			}
			else
			{
				count += ((A[i] / C) + 1);
			}
		}
		else// A[i] - B <= 0
		{
			count++;
			continue;
		}
	}
	cout << count << "\n";

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	int N, B, C;
	vector<int> A;

	input_test(&N, A, &B, &C);
	find_answer(A, B, C);

	return 0;
}

0개의 댓글