안녕하세요. 오늘은 진짜 공간을 구해볼 거예요.

문제

https://www.acmicpc.net/problem/1350

아이디어

크기가 a인 파일과 x인 클러스터가 있다고 합시다. 그러면 최소 몇개의 크러스터가 필요할까요? 바로 a/x의 올림한 값입니다. a와 x가 정수이므로 (a+x-1)/x를 버림한 값이 위의 값과 동일하게 됩니다. 그러므로 이 모든 값들을 더해준 다음에 이 값은 개수이므로 x를 곱해서 출력해주면 됩니다.

소스코드

#include <iostream>
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    long long N, i, arr[101] = { 0 }, ans = 0, x;
    
    cin >> N;
    for (i = 0; i < N; i++)
        cin >> arr[i];
    cin >> x;

    for (i = 0; i < N; i++)
        ans += (arr[i] + x - 1) / x;
    cout << ans * x;
}


감사합니다.

0개의 댓글