Nhân dịp năm học mới, nhà máy may OLP có chương trình khuyến mãi khủng khi may áo đồng phục cho sinh viên, giảng viên.
Giá một chiếc áo đồng phục là t đồng, nếu may m chiếc áo thì được tặng thêm 1 chiếc. Để may đủ số lượng cho sinh viên, ICTU cần may ít nhất n chiếc áo cho sinh viên và giảng viên. Hãy giúp ICTU tính xem cần số tiền ít nhất là bao nhiêu để may áo đồng phục.
Đầu vào:
- Một dòng chứa 3 số nguyên dương m, n, t (1 ≤ m ≤ 106, 0 ≤ n, t ≤ 106), mỗi số cách nhau một khoảng trắng.
- Một dòng chứa 3 số nguyên dương m, n, t (1 ≤ m ≤ 106, 0 ≤ n, t ≤ 106), mỗi số cách nhau một khoảng trắng.
Đầu ra:
- Là một số nguyên xác định số tiền cần thiết.
- Là một số nguyên xác định số tiền cần thiết.
Ví dụ:
Đầu vào
|
Đầu ra
|
2 3 100
|
200
|
Giải thích: Cần may 3 chiếc áo, mà cứ may 2 chiếc là được tặng 1 chiếc. Vậy chỉ cần chi tiền cho 2 chiếc là đã được đủ 3 chiếc cần may. Vậy tổng tiền là 2 * 100 = 200.
A, Ý tưởng
- Cứ m chiếc áo ta coi là 1 bộ.
- Theo đề bài cứ may m chiếc áo thì được tặng thêm 1 chiếc => mỗi bộ áo ta cộng thêm 1 chiếc.
- Tính với n chiếc áo ta được n / (m+1) bộ.
- Tính số áo phải trả tiền ta lấy số bộ áo vừa tính được nhân với m áo ban đầu: (n / (m+1)) * m
- Tiếp tục với n chiếc áo ta xem còn dư ra bao nhiêu chiếc không đủ để xếp vào 1 bộ: n % (m+1)
- Cuối cùng, lấy số áo trả tiền nhân với số tiền t + số áo dư nhân với số tiền t sẽ ra được tổng tiền phải trả.
B, Code
#include <iostream> using namespace std; int main(){ long int m,n,t,du,soao,T; cin >> m >> n >> t; soao = (n / (m+1)) * m; du = n % (m+1); T = soao * t + du * t; cout << T; return 0; }
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.