妞妞打車之最多的硬幣

2022-08-09 09:54:13 字數 1046 閱讀 9943

妞妞參加完google girl hackathon之後,打車回到了牛家莊。

妞妞需要支付給計程車司機車費s元。妞妞身上一共有n個硬幣,第i個硬幣價值為p[i]元。

妞妞想選擇盡量多的硬幣,使其總價值足以支付s元車費(即大於等於s)。

但是如果從妞妞支付的這些硬幣中移除乙個或者多個硬幣,剩下的硬幣總價值還是足以支付車費的話,計程車司機是不會接受的。例如: 妞妞使用價值為2,5,7的硬幣去支付s=11的車費,計程車司機是不會接受的,因為價值為2這個硬幣是可以移除的。

妞妞希望能選取最大數量的硬幣,使其總價值足以支付車費並且計程車司機能接受。

妞妞希望你能幫她計算最多可以支付多少個硬幣。

輸入描述:

輸入包括兩行, 第一行包括兩個正整數n和s(1 <= n <= 10, 1 <= s <= 1000), 表示妞妞的硬幣個數和需要支付的車費。

第二行包括n個正整數p[i] (1 <= p[i] <= 100),表示第i個硬幣的價值。

保證妞妞的n個硬幣價值總和是大於等於s。

輸出描述:

輸出乙個整數, 表示妞妞最多可以支付的硬幣個數。
輸入例子1:
5 9

4 1 3 5 4

輸出例子1:
3
1 #include 2 #include 3 #include 4

using

namespace

std;

5int

main()

12 sort(a,a+n);

13int sum = 0;14

int cnt = 0;15

int b[11

];16

for(int i=0; i)23}

24if(cnt >= 2

) 28

}29 cout << cnt+1

<31return0;

32 }

因為n很小,強行暴力解。

python應用之 最多約數問題

問題描述 給定2個正整數a b 計算a和b之間約數個數最多的數 num int num result 2 if num 2 return 0 for temp in range 2,num if num temp 0 result 1 return result for temp in range ...

待字閨中之最多連續數的子集

題目 給乙個整數陣列a,找到其中包含最多連續數的子集,比如給 15,7,12,6,14,13,9,11,則返回 5 11,12,13,14,15 分析 最簡單的方法是sort然後scan一遍,但是要 o nlgn 有什麼 o n 的方法嗎?網上有人用map或set來做,但map或set的複雜度還是o...

貪心演算法 之 最多區間排程問題

問題主題 區間排程問題 問題描述 有n項工作,每項工作分別在si開始,ti結束。對每項工作,你都可以選擇參加或不參加,但選擇了參加某項工作就必須至始至終參加全程參與,即參與工作的時間段不能有重疊 即使開始的時間和結束的時間重疊都不行 限制條件 1 n 100000 1 si ti,109 樣例 輸入...