「size」に格納された長さのcandy[]配列を取得します。 candies[i] の各要素には、タイプ i のキャンディーの番号があります。目標は、お金を使ってできるだけ多くのキャンディーを買うことです。条件は次のとおりです -
タイプ i (0
XX(j)
X(j)=0、タイプ j のキャンディーは購入されませんでした
入力 - Arr[] = { 1,3,5,2,6,7}。
出力 - 購入できるキャンディーの最大数 - 16
説明 - 購入タイプ i { 0,3,5,2, 6, 0 }
の Candy>Input - Arr[] = { 5,7,7,3,4 }.
Output - OK 購入したキャンディーの最大数 - 10
説明 - タイプ i のキャンディーを購入 { 0,0,7,3,0 }
以下で使用されるメソッドプログラムは次のとおりです
#include <stdio.h> int maxCandies(int arr[], int n){ int bought = arr[n - 1]; int total = bought; // Starting from second last for (int i = n - 2; i >= 0; i--) { // Amount of candies of the current // type that can be bought int x = arr[i]<bought-1?arr[i]:bought-1; if (x >= 0) { total += x; bought = x; } } return total; } int main(){ int candies[] = { 1,2,4,3,7 }; int size = 5; printf("Total Candies that can be bought: %d", maxCandies(candies, size)); return 0; }
出力
以上が購入できるキャンディーの最大数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。