首页 > 学院 > 开发设计 > 正文

1037. Magic Coupon (25)

2019-11-14 09:29:57
字体:
来源:转载
供稿:网友

正负分开

都按照负数的话可以以绝对值从大到小排序,省点事

#include<iostream>#include<algorithm>#include<vector>#include<map> #include<string>#include<set>using namespace std;vector<int> pcoup,ncoup,pPRod,nprod;int main(){	int nc,np;	cin>>nc;	for(int i = 0; i < nc; i++){		int temp;		scanf("%d",&temp);		if(temp > 0){			pcoup.push_back(-temp);		}		else if(temp < 0){			ncoup.push_back(temp);		}	}	cin>>np;	for(int i = 0; i < np; i ++){		int temp;		scanf("%d",&temp);		if(temp > 0){			pprod.push_back(-temp);		}		else if(temp < 0){			nprod.push_back(temp);		}	}	sort(pcoup.begin(),pcoup.end());	sort(ncoup.begin(),ncoup.end());	sort(pprod.begin(),pprod.end());	sort(nprod.begin(),nprod.end());	int i = 0;	int sum = 0;	while(i < pcoup.size() && i < pprod.size()){		sum += pcoup[i] * pprod[i];		i++;	}	i = 0;	while(i < ncoup.size() && i < nprod.size()){		sum += ncoup[i] * nprod[i];		i++;	}	printf("%d",sum);	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表