藍橋杯演算法提高 最大乘積

2021-07-30 04:13:37 字數 767 閱讀 9518

問題描述

對於n個數,從中取出m個數,如何取使得這m個數的乘積最大呢?

輸入格式

第一行乙個數表示資料組數

每組輸入資料共2行:

第1行給出總共的數字的個數n和要取的數的個數m,1<=n<=m<=15,

第2行依次給出這n個數,其中每個數字的範圍滿足:a[i]的絕對值小於等於4。

輸出格式

每組資料輸出1行,為最大的乘積。

樣例輸入

1 5 5

1 2 3 4 2

樣例輸出

48 剛開始做的時候想的太簡單了,其實兩個負數相乘就是整數,有可能比直接乘乙個正數還要大,所以要先排序,時時考慮兩個負數相乘的情況

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define inf 0x3f3f3f3f

#define maxn 505

#define mod 99999999

using

namespace

std;

int main()

else

}else

}cout

0;}

藍橋杯 演算法提高 最大乘積

演算法提高 最大乘積 時間限制 1.0s 記憶體限制 512.0mb 問題描述 對於n個數,從中取出m個數,如何取使得這m個數的乘積最大呢?輸入格式 第一行乙個數表示資料組數 每組輸入資料共2行 第1行給出總共的數字的個數n和要取的數的個數m,1 n m 15,第2行依次給出這n個數,其中每個數字的...

藍橋杯 演算法提高 最大乘積

問題描述 對於n個數,從中取出m個數,如何取使得這m個數的乘積最大呢?輸入格式 第一行乙個數表示資料組數 每組輸入資料共2行 第1行給出總共的數字的個數n和要取的數的個數m,1 n m 15,第2行依次給出這n個數,其中每個數字的範圍滿足 a i 的絕對值小於等於4。輸出格式 每組資料輸出1行,為最...

藍橋杯練習系統演算法提高 最大乘積

最大乘積 問題描述 對於n個數,從中取出m個數,如何取使得這m個數的乘積最大呢?輸入格式 第一行乙個數表示資料組數 每組輸入資料共2行 第1行給出總共的數字的個數n和要取的數的個數m,1 n m 15,第2行依次給出這n個數,其中每個數字的範圍滿足 a i 的絕對值小於等於4。輸出格式 每組資料輸出...