首页 > 其他 > 详细

Leetcode-1029 Two City Scheduling(两地调度)

时间:2019-04-21 14:01:20      阅读:99      评论:0      收藏:0      [点我收藏+]
 1 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
 2 #define pb push_back
 3 struct k
 4 {
 5     int a;
 6     int b;
 7     int diff;
 8     bool operator < (k b)
 9     {
10         return diff<b.diff;
11     }
12 };
13 class Solution
14 {
15     public:
16         int twoCitySchedCost(vector<vector<int>>& costs)
17         {
18             vector<k> v;
19             _for(i,0,costs.size())
20             {
21                 k kk;
22                 kk.a = costs[i][0];
23                 kk.b = costs[i][1];
24                 kk.diff = kk.a-kk.b;
25                 v.pb(kk);
26             }
27             
28             sort(v.begin(),v.end());
29             
30             int sum = 0;
31             _for(i,0,costs.size())
32                 sum += min(costs[i][1],costs[i][0]);
33             
34             _for(i,0,costs.size())
35             {
36                 if(i < costs.size()/2 && v[i].diff>0)
37                     sum += v[i].diff;
38                 if(i >= costs.size()/2 && v[i].diff<0)
39                     sum += -v[i].diff;
40             }
41             return sum;
42         }
43 };

 

Leetcode-1029 Two City Scheduling(两地调度)

原文:https://www.cnblogs.com/Asurudo/p/10744908.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!