pta--魔法优惠卷

来源:互联网 发布:java 图形界面 表格 编辑:程序博客网 时间:2024/04/27 22:02

/×https://pta.patest.cn/pta/test/15/exam/4/question/866

一个简单贪心算法,,刚开始做的时候不小心,,排序之后相乘,我居然打了+|号,被白白扣了20分,改回来之后,果断正确了

代码如下:×/

#include <iostream>
#include <algorithm>
using namespace std;


int main()
{
    int n,m;
    cin>>n;
    int a[n],i;
    for(i=0;i<n;i++){
        cin>>a[i];
    }
    cin>>m;
    int b[m];
    for(i=0;i<m;i++){
        cin>>b[i];
    }
   sort(a,a+n);
   sort(b,b+m);
   int sum=0;
   int len=n<m?n:m;
   for(i=0;i<len;i++){
    if(a[i]>0||b[i]>0){
        break;
    }
    sum+=a[i]*b[i];
   }
   int j=m-1;
   for(i=n-1;i>=0;i--){
    if(a[i]<0||b[j]<0){
        break;
    }
    if(j<0){
        break;
    }
    sum+=a[i]*b[j];
    j--;
   }
   cout<<sum<<endl;
    return 0;
}

0 0
原创粉丝点击