注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东月之神

在单纯的观念里面,生命就容易变得比较深刻!

 
 
 

日志

 
 
关于我

别驻足,梦想要不停追逐,别认输,熬过黑暗才有日出,要记住,成功就在下一步,路很苦,汗水是最美的书!

网易考拉推荐

xmu 1203.水题Ⅴ  

2011-11-21 17:28:01|  分类: ACM |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Time Limit: 5000 MS         Memory Limit: 65536 K
Total Submissions: 153 (68 users)         Accepted: 82 (64 users)
[ My Solution ]

Description

n位女士和m位男士在婚姻中介所的安排下参加了一场见面会,其中每一位都有一个魅力值,用一个不大于1000的正整数来表示魅力值。现在要给他们配对,一男一女地配对。由于每个人的魅力值都有可能不同,所以当有两个魅力值不一样的人配对时,魅力值较高的那位便会产生一定的怒气。假设男士的魅力值为m,女士的魅力值为f,则魅力值较高的那位产生的怒气值为|m-f|。当某一位男士或女士没有得到配对的对象时,他(她)产生的怒气值便为他(她)自身的魅力值。现在的问题是,给出这n位女士和m位男士的魅力值,要怎么安排才能使得总的怒气值和最小。< XMLNAMESPACE PREFIX ="O" />

Input

首先是一个正整数T,表示后面有几组数据,T<=100

接下来每组数据的第一行输入两个正整数nm,表示有n位女士和m位男士,其中0<n,m<=1000。第二行输入n位女士的魅力值,第三行输入m位男士的魅力值。

Output

输出每组数据的怒气值总和。

Sample Input

2
2 3
1 2
1 2 3
2 1
4 2
3

Sample Output

3
3

Source
 
就一个贪心,没想到排了第一。。。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
 int a[1005], b[1005];
 int n, m, i, t, cnt;
 scanf("%d", &t);
 while(t--)
 {
  scanf("%d%d", &n, &m);
  for(i = 0; i < n; i++)
   scanf("%d", &a[i]);
  for(i = 0; i < m; i++)
   scanf("%d", &b[i]);
  if(n > m)
  {
   cnt = n;
   for(i = m; i < n; i++)
    b[i] = 0;
  }
  else
  {
   cnt = m;
   for(i = n; i < m; i++)
    a[i] = 0;
  }
  sort(a, a + cnt);
  sort(b, b + cnt);
  int sum = 0;
  for(i = 0; i < cnt; i++)
   sum += abs(a[i] - b[i]);
  printf("%d\n", sum);
 }
return 0;
}
  评论这张
 
阅读(121)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017