# PROBLEM LINK:

Practice

Contest: Division 1

Contest: Division 2

Contest: Division 3

Contest: Division 4

* Author & Editorialist:* Nishank Suresh

*Takuki Kurokawa, Utkarsh Gupta*

**Testers:**# DIFFICULTY:

775

# PREREQUISITES:

None

# PROBLEM:

Chef has X shelves of books with Y books each. One box can hold Z books, and books from different shelves must go into different boxes.

What’s the minimum number of boxes needed to hold all the books?

# EXPLANATION:

Let’s find the number of boxes to hold all the books of a single shelf. We can then multiply this by X to get the final answer.

We want to fit Y books into boxes of size Z. If we had K boxes, we could fit K\cdot Z books.

So, we want the smallest integer K such that K\cdot Z \geq Y.

This tells us that K = \left\lceil \frac{Y}{Z} \right\rceil, where \left\lceil \ \ \right\rceil denotes the ceiling function.

So, the answer is simply

# TIME COMPLEXITY

\mathcal{O}(1) per test case.

# CODE:

## Code (C++)

```
#include "bits/stdc++.h"
// #pragma GCC optimize("O3,unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using ll = long long int;
mt19937_64 rng(chrono::high_resolution_clock::now().time_since_epoch().count());
int main()
{
ios::sync_with_stdio(false); cin.tie(0);
int t; cin >> t;
while (t--) {
int x, y, z; cin >> x >> y >> z;
cout << x * ((y + z - 1)/z) << '\n';
}
}
```