您现在的位置是:主页 > news > 江阴做网站哪家好/软文推广代写代发

江阴做网站哪家好/软文推广代写代发

admin2025/5/6 15:49:12news

简介江阴做网站哪家好,软文推广代写代发,早期电商平台有哪些,安徽省建设部网站题目说了那么多,就是给你两个序列,分别选取元素进行一对一相乘,求得到的最大乘积。 将两个序列的正和负数分开,排个序,然后分别将正1和正2前面的相乘,负1和负2前面的相乘,累加和即可。 #include…

江阴做网站哪家好,软文推广代写代发,早期电商平台有哪些,安徽省建设部网站题目说了那么多,就是给你两个序列,分别选取元素进行一对一相乘,求得到的最大乘积。 将两个序列的正和负数分开,排个序,然后分别将正1和正2前面的相乘,负1和负2前面的相乘,累加和即可。 #include…

题目说了那么多,就是给你两个序列,分别选取元素进行一对一相乘,求得到的最大乘积。

将两个序列的正和负数分开,排个序,然后分别将正1和正2前面的相乘,负1和负2前面的相乘,累加和即可。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <cmath>
#include <vector>
using namespace std;
const int maxn=100000+5;
int coupon1[maxn];
int c1;
int coupon2[maxn];
int c2;
int product1[maxn];
int product2[maxn];
int p1,p2;bool cmp(int a,int b){return a>b;
}
int main()
{int nc,np;long long tmp;c1=c2=p1=p2=0;scanf("%d",&nc);for(int i=0;i<nc;i++){scanf("%lld",&tmp);if(tmp>=0)coupon1[c1++]=tmp;elsecoupon2[c2++]=tmp;}scanf("%d",&np);for(int i=0;i<np;i++){scanf("%lld",&tmp);if(tmp>=0)product1[p1++]=tmp;elseproduct2[p2++]=tmp;}long long ans=0;sort(coupon1,coupon1+c1,cmp);sort(product1,product1+p1,cmp);sort(coupon2,coupon2+c2);sort(product2,product2+p2);int min1=min(c1,p1);for(int i=0;i<min1;i++){ans+=coupon1[i]*product1[i];}int min2=min(c2,p2);for(int i=0;i<min2;i++){ans+=coupon2[i]*product2[i];}printf("%lld\n",ans);return 0;
}
View Code

 

转载于:https://www.cnblogs.com/chenxiwenruo/p/6789124.html