はまやんはまやんはまやん

hamayanhamayan's blog

Fill the Glasses [CSAcademy #54]

https://csacademy.com/contest/round-54/task/fill-the-glasses/

N個のグラスから、K個選ぶ。
選んだグラスを満杯にするのに必要な100Lボトルは最小何本か?
K≦N≦100

解法

K個選べばいいが、小さいグラスを使うほうが最適。
小さいグラスをK個選び、それを満杯にするのに必要なボトルを計算すればいい。

int N, K, A[101];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> K;
    rep(i, 0, N) cin >> A[i];
    sort(A, A + N);

    int sm = 0;
    rep(i, 0, K) sm += A[i];
    int ans = (sm + 99) / 100;
    cout << ans << endl;
}