Mô tả bài toán
Có a trận đấu, b hội nghị. Máy bán nước khu vực cầu thủ cần nạp sau c trận, khu vực báo chí sau d sự kiện. Mua tối đa k gói, x cho cầu thủ, y cho báo chí (x+y ≤ k). Tìm x,y hoặc in "Limit Exceeded".
Ví dụ
a=8,b=8,c=4,d=6,k=9 → x=ceil(8/4)=2, y=ceil(8/6)=2 → 2+2=4 ≤9 → Output: 2 2.
Thuật toán
x = ceil(a/c) = (a+c-1)/c. y = ceil(b/d) = (b+d-1)/d. Nếu x+y ≤ k thì in x,y else "Limit Exceeded".
Code C++
#include <bits/stdc++.h>
using namespace std;
void solve(int a, int b, int c, int d, int k) {
int x = (a + c - 1) / c;
int y = (b + d - 1) / d;
if (x + y <= k)
cout << x << ' ' << y;
else
cout << "Limit Exceeded";
}
int main() {
int a=8,b=8,c=4,d=6,k=9;
solve(a,b,c,d,k);
return 0;
}
Đầu vào / Đầu ra
Input: 8,8,4,6,9
Output: 2 2