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

首頁 > 學院 > 開發設計 > 正文

算法訓練 最小乘積(基本型)

2019-11-10 18:20:42
字體:
來源:轉載
供稿:網友
算法訓練 最小乘積(基本型)  時間限制:1.0s   內存限制:512.0MB    問題描述  給兩組數,各n個?! ≌堈{整每組數的排列順序,使得兩組數據相同下標元素對應相乘,然后相加的和最小。要求程序輸出這個最小值?! ±鐑山M數分別為:1 3  -5和-2 4 1  那么對應乘積取和的最小值應為:  (-5) * 4 + 3 * (-2) + 1 * 1 = -25輸入格式  第一個行一個數T表示數據組數。后面每組數據,先讀入一個n,接下來兩行每行n個數,每個數的絕對值小于等于1000?! <=8,T<=1000輸出格式  一個數表示答案。樣例輸入
231 3 -5-2 4 151 2 3 4 51 0 1 0 1

樣例輸出

-256

思路:

一個正序,一個倒序,在紙上畫畫就有思路了

代碼:

#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std;const int MAXN=9;int ans[MAXN],bns[MAXN];bool cmp(int a, int b){    return a>b;}int main(){    int T,n;    scanf("%d",&T);    while(T--)    {        scanf("%d",&n);        memset(ans,0,sizeof(ans));        memset(bns,0,sizeof(bns));        for(int i=0;i<n;i++)        {            scanf("%d",&ans[i]);        }        for(int i=0;i<n;i++)        {            scanf("%d",&bns[i]);        }        sort(ans,ans+n);        sort(bns,bns+n,cmp);        int sum=0;        for(int i=0;i<n;i++)        {            sum+=ans[i]*bns[i];        }        PRintf("%d/n",sum);    }    return 0;}


上一篇:qsort()函數使用

下一篇:簡單爬蟲

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛教| 滦平县| 开原市| 资源县| 苍山县| 乌苏市| 泌阳县| 宁德市| 武冈市| 前郭尔| 靖西县| 开江县| 彩票| 乌什县| 浮山县| 潢川县| 湄潭县| 陆丰市| 高要市| 砀山县| 莫力| 康定县| 德昌县| 泰宁县| 紫阳县| 潜山县| 安泽县| 泰州市| 阳东县| 石门县| 湘阴县| 上虞市| 乌兰浩特市| 志丹县| 青阳县| 江都市| 济阳县| 绥德县| 镇安县| 北川| 云林县|