1037.Magic Coupon (25)
来源:互联网 发布:淘宝规则2016 编辑:程序博客网 时间:2024/04/29 00:49
1037.Magic Coupon (25)
pat-al-1037
2017-02-06
- 要得到最大的和,每次要从两行中各取出一个数,使之乘积为当前能找到的最大,那肯定是正数和正数相乘、负数和负数相乘(取绝对值最大的)。
- 先从小到大排序,把负数相乘;再从大到小排序,把正数相乘。
/** * pat-al-1037 * 2017-02-06 * Cpp version * Author: fengLian_s */#include<stdio.h>#include<algorithm>using namespace std;bool cmp1(int a, int b){ return a < b;}bool cmp2(int a, int b){ return a > b;}int main(){ freopen("in.txt", "r", stdin); int nc, np; scanf("%d", &nc); int coupon[nc]; for(int i = 0;i < nc;i++) { scanf("%d", &coupon[i]); //printf("%d\n", coupon[i]); } scanf("%d", &np); int product[np]; for(int i = 0;i < np;i++) { scanf("%d", &product[i]); } sort(coupon, coupon+nc, cmp1); sort(product, product+np, cmp1); int i = 0, sum = 0; while(coupon[i] < 0 && product[i] < 0) { //printf("coupon = %d, product = %d\n", coupon[i], product[i]); sum += coupon[i]*product[i]; i++; } sort(coupon, coupon+nc, cmp2); sort(product, product+np, cmp2); i = 0; while(coupon[i] > 0 && product[i] > 0) { sum += coupon[i]*product[i]; i++; } printf("%d\n", sum);}
-FIN-
0 0
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- 1037. Magic Coupon (25)
- Unity场景切换
- 二进制码与格雷码互相转换
- 内存问题
- android之动画实现(一)(四种基本补间动画)
- ChucK初步(10)
- 1037.Magic Coupon (25)
- MVP与MVP
- Log_Log4j2_Log4j2 的 Appenders
- linux 调度器负载均衡
- 乱码_01_java后台request取出来的中文乱码
- 联想T440怎么把原装Win8或Win10换成Win7系统
- 详解SpringMVC请求的时候是如何找到正确的Controller
- Visual Studio项目模板与向导开发
- 博为峰JavaEE技术文章 ——MyBatis Mapper ResultMap