国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

算法提高 最大乘積

2019-11-10 19:41:06
字體:
供稿:網(wǎng)友

算法提高 最大乘積 時間限制:1.0s 內(nèi)存限制:512.0MB 提交此題 問題描述   對于n個數(shù),從中取出m個數(shù),如何取使得這m個數(shù)的乘積最大呢? 輸入格式   第一行一個數(shù)表示數(shù)據(jù)組數(shù)   每組輸入數(shù)據(jù)共2行:   第1行給出總共的數(shù)字的個數(shù)n和要取的數(shù)的個數(shù)m,1<=n<=m<=15,   第2行依次給出這n個數(shù),其中每個數(shù)字的范圍滿足:a[i]的絕對值小于等于4。 輸出格式   每組數(shù)據(jù)輸出1行,為最大的乘積。 樣例輸入 1 5 5 1 2 3 4 2 樣例輸出 48

這個做法比較機(jī)智= = 負(fù)數(shù)一定要選倆 正數(shù)只用選一個

#include <iostream>#include <algorithm>#include<cstdio>#include<cstring>using namespace std;int a[100000];int main(){ int t; cin>>t; while(t--) { int n,m; cin>>n>>m; for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); int i=0,j=n-1; int s=1; while(m>0) { if(a[i]*a[i+1]>a[j]*a[j-1]&&a[i]<0&&a[i+1]<0)//負(fù)數(shù)選倆 { s*=a[i]*a[i+1]; i+=2; m-=2; } else//正數(shù)選一個 { s*=a[j]; j-=1; m-=1; } } cout<<s<<endl; } return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巫山县| 合作市| 晋中市| 安国市| 卫辉市| 曲沃县| 镇平县| 兴国县| 崇左市| 永兴县| 始兴县| 邵东县| 南靖县| 朝阳市| 石景山区| 莱州市| 息烽县| 垦利县| 天全县| 南昌县| 嵩明县| 璧山县| 土默特左旗| 乃东县| 朝阳县| 成安县| 三河市| 准格尔旗| 梨树县| 都兰县| 佛坪县| 三门峡市| 萝北县| 温宿县| 四会市| 翁源县| 宁阳县| 枝江市| 姜堰市| 德清县| 千阳县|