根據給定範圍確定包大小的 C++ 程式碼
假設我們有兩個數字 l 和 r。有一家商店,我們想以折扣價出售裝有 'a' 個食物的食品容器,一些顧客想購買 x 個食物。顧客遵循貪婪策略:
他以折扣價購買 floor(x/a) 包。
然後想逐個購買剩餘的 (x mod a) 個食物。
但顧客很貪婪,如果他想要逐個購買 (x mod a) 個食物,並且碰巧 (x mod a) ≥ a/2,那麼他決定購買整包 a 個食物。顧客可以在 l 到 r(包括兩端)範圍內購買任意數量的食物,我們必須檢查是否可以選擇這樣的包裝大小 a,使得每個顧客購買的食物數量都超過他們最初想要的數量?
因此,如果輸入為 l = 3;r = 4,則輸出為 True,因為如果 a = 5,那麼如果他們想購買 3 或 4 個罐頭,他們可以購買一包。
步驟
為了解決這個問題,我們將遵循以下步驟:
if r / 2 >= l, then: return false Otherwise return true
示例
讓我們看看下面的實現來更好地理解:
#include <bits/stdc++.h>
using namespace std;
bool solve(int l, int r){
if (r / 2 >= l)
return false;
else
return true;
}
int main(){
int l = 3;
int r = 4;
cout << solve(l, r) << endl;
}輸入
3,4
輸出
1
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP