1037. Magic Coupon


#include<queue>
#include<iostream>
using namespace std;
int main(){
  int n;
  priority_queue<int,vector<int>,less<int>>maxa,maxb;
  priority_queue<int,vector<int>,greater<int>>mina,minb;
  cin>>n;
  for(int k,i=0;i<n;++i){
    cin>>k;
    if(k>=0)maxa.push(k);
    else mina.push(k); }
  cin>>n;
  for(int k,i=0;i<n;++i){
    cin>>k;
    if(k>=0)maxb.push(k);
    else minb.push(k); }
  int total=0;
  while(!maxa.empty()&&!maxb.empty()){
    total+=maxa.top()*maxb.top();
    maxa.pop();maxb.pop();
  }
  while(!mina.empty()&&!minb.empty()){
    total+=mina.top()*minb.top();
    mina.pop();minb.pop();
  }    
  cout<<total;  
}


你可能感兴趣的:(1037. Magic Coupon)