贪心题目,刚做了1033一个半小时23分,心态有点崩,这个题画风格完全变了hhh,比较简单。
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main(){
int nc,np;
vector<int> cp,cn,pp,pn;
scanf("%d",&nc);
int temp;
for(int i=0;i<nc;i++){
scanf("%d",&temp);
if(temp>0) cp.push_back(temp);
else cn.push_back(temp);
}
scanf("%d",&np);
for(int i=0;i<np;i++){
scanf("%d",&temp);
if(temp>0) pp.push_back(temp);
else pn.push_back(temp);
}
sort(cp.begin(),cp.end(),cmp);
sort(cn.begin(),cn.end());
sort(pp.begin(),pp.end(),cmp);
sort(pn.begin(),pn.end());
int sum=0;
for(int i=0;i<min(cp.size(),pp.size());i++){
sum+=cp[i]*pp[i];
}
for(int i=0;i<min(cn.size(),pn.size());i++){
sum+=cn[i]*pn[i];
}
printf("%d",sum);
return 0;
}