http://acm.hdu.edu.cn/showproblem.php?pid=1280

题目大意:

给你N(N<=3000)个数(这些数不超过5000),要求输出他们两两相加后和最大的M(M<=1000)个数。(并且这M个数从大到小排序)

思路:

数的范围有限所以进行基数排序。

输出的时候从大到小扫描凑足M个即可。

#include<cstdio>
const int MAXN=10000+2;
int data[3001];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
int sum[MAXN]={0};
for(int i=0;i<n;i++)
{
scanf("%d",&data[i]);
sum[ data[i] ]++;
} for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
sum[ data[i]+data[j] ]++; int len=0;
bool first=true;
for(int i=MAXN-1;len<m;i--)
{
while(sum[i]!=0 && len<m)
{
sum[i]--;
if(first)
printf("%d",i);
else
printf(" %d",i);
len++;
first=false;
}
}
printf("\n");
}
return 0;
}

最新文章

  1. 关于push数组,然后遍历数组遇到的坑,遍历显示函数
  2. html5+css3 制作音乐播放器
  3. OC NSFileManager(文件路径操作)
  4. position:absolute/relative/fixed小结
  5. 用 FragmentManager 替换时使用 GoogleMaps 崩溃 app
  6. Ubuntu14.04编译安装mysql5.6.26
  7. visual studio 插件开发
  8. Java 进行 RSA 加解密时不得不考虑到的那些事儿
  9. poj 1703 Find them, Catch them(并查集)
  10. 【筛素数表证明】【O[n]】
  11. 利用maven中resources插件的copy-resources目标进行资源copy和过滤
  12. linux中grep命令的用法
  13. RT5350的uvc驱动支持yuv格式摄像头成功
  14. FORM中读取图片
  15. ASP.NET Core 身份验证(一)
  16. HTML5代码段
  17. 爬取博主的所有文章并保存为PDF文件
  18. Android数据填充器LayoutInflater
  19. Spring Boot 入门系列
  20. PHP快速入门 常用配置

热门文章

  1. Nabou应用实例
  2. CSS 文本样式
  3. HDU——T 2594 Simpsons’ Hidden Talents
  4. 思科模拟器之路由器-RIP-DNS解析server
  5. Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
  6. 2.Xml与多个对象的映射(聚合或组合)及注意事项
  7. Spring中的AOP注解方式和XML方式
  8. 洛谷P1143 进制转换
  9. openstack之虚拟机创建流程分析
  10. v-for实现循环嵌套