码迷,mamicode.com
首页 > 其他好文 > 详细

PAT 1037

时间:2014-11-13 23:59:48      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   os   sp   for   div   

蛋疼题目系列

把正数和负数都排一遍序,然后就ok了

 1 #include <vector>
 2 #include <iostream>
 3 #include <string>
 4 #include <fstream>
 5 #include <queue>
 6 #include <algorithm>
 7 
 8 using namespace std;
 9 
10 struct ComLarge{
11     bool operator()(const int i1, const int i2){
12         return i1 > i2;
13     }
14 };
15 
16 struct ComSmall{
17     bool operator()(const int i1, const int i2){
18         return i1 < i2;
19     }
20 };
21 
22 //#define OJ
23 
24 #ifdef OJ
25 #define fin cin
26 #endif
27 
28 int main(){
29 #ifndef OJ
30     ifstream fin("in.data");
31 #endif
32 
33     vector<int> pos_coupon;
34     vector<int> neg_coupon;
35     vector<int> pos_val;
36     vector<int> neg_val;
37 
38     int NC, NP, val;
39     fin >> NC;
40     for (int i = 0; i < NC; i++){
41         fin >> val;
42         if (val > 0)
43             pos_coupon.push_back(val);
44         else
45             neg_coupon.push_back(val);
46     }
47     fin >> NP;
48     for (int i = 0; i < NP; i++){
49         fin >> val;
50         if (val > 0)
51             pos_val.push_back(val);
52         else
53             neg_val.push_back(val);
54     }
55 
56     sort(pos_coupon.begin(), pos_coupon.end(), ComLarge());
57     sort(pos_val.begin(), pos_val.end(), ComLarge());
58     sort(neg_coupon.begin(), neg_coupon.end(), ComSmall());
59     sort(neg_val.begin(), neg_val.end(), ComSmall());
60 
61     int pos_cnt = (pos_coupon.size() < pos_val.size() ? pos_coupon.size() : pos_val.size());
62     int neg_cnt = (neg_coupon.size() < neg_val.size() ? neg_coupon.size() : neg_val.size());
63 
64     int total = 0;
65     for (int i = 0; i < pos_cnt; i++)
66         total += pos_coupon[i] * pos_val[i];
67     for (int i = 0; i < neg_cnt; i++)
68         total += neg_coupon[i] * neg_val[i];
69 
70     cout << total << endl;
71 
72     return 0;
73 }

 

PAT 1037

标签:style   blog   io   color   ar   os   sp   for   div   

原文地址:http://www.cnblogs.com/EpisodeXI/p/4096044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!