时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

H公司在北京和上海两个城市各有一间办公室。该公司最近新招募了2N名员工,小Hi负责把这2N名员工分配到北京和上海各N名。

于是小Hi调查了新员工对于北京和上海的意愿,我们用Bi和Si表示。Bi代表如果分配第i名员工去北京,他的满意指数;Si代表如果分配去上海,他的满意指数。  

小Hi想知道如何分配才能使2N名员工的满意指数之和最高。

输入

第一行包含一个整数N。  

以下2N行每行包含两个整数Bi和Si。  

1 ≤ N ≤ 1000  

0 ≤ Bi, Si ≤ 100000

输出

一个整数代表最高可能的满意指数之和。

样例输入
2  
100 50  
80 80  
50 100  
10 30
样例输出
310
 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 const int N = 2200;
 6 
 7 struct Node{
 8     int b, s;
 9 }node[N];
10 
11 bool cmp(const Node a, const Node b){
12     return (a.b-a.s) > (b.b-b.s);
13 }
14 
15 int main()
16 {
17     int n;
18     cin>>n;
19     for(int i = 0; i < 2*n; i++){
20         cin>>node[i].b>>node[i].s;
21     }
22     sort(node, node+2*n, cmp);
23     int ans = 0;
24     for(int i = 0; i < 2*n; i++){
25         if(i < n)ans += node[i].b;
26         else ans += node[i].s;
27     }
28     cout<<ans<<endl;
29 
30     return 0;
31 }
View Code

相关文章:

  • 2021-09-12
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-02
  • 2021-10-10
  • 2021-08-13
  • 2021-12-16
  • 2021-11-06
  • 2021-09-15
  • 2021-05-28
相关资源
相似解决方案