| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 892 人关注过本帖
标题:请教大家一个ACM题
只看楼主 加入收藏
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
 问题点数:0 回复次数:12 
请教大家一个ACM题

sort

Time Limit:1000MS Memory Limit:65536K
Total Submit:90 Accepted:15

Description

Given n integer numbers, you should select the m numbers of the bigger ones and output them from big one to small one.

Input

The input file contains many test cases.
Each case has 2 lines.
The first line consists of 2 integer number n and m ( 0 < n, m < 1000000).
The next line has n numbers, and all numbers between -500000 and -500000.

Output

For each case, you should output the m integer numbers, order by descent.

Sample Input


5 3
3 -35 92 213 -644


Sample Output


213 92 3


Hint

If n=10 m=3
and the 10 numbers are:
10 9 10 8 7 6 5 4 1 2
you should output:
10 10 9

代码如下
#include <stdio.h>
#include <string.h>

main()
{
int a[1000001];
int i ,j ,n ,m, flag=0,count ,num;
while( scanf("%d%d",&n,&m)!=EOF)
{
count =0;
flag=0;
memset(a,0,sizeof(a));
for(i=0;i<n;i++)
{
scanf("%d",&num);
a[num+500000]++;
}
for(i=1000000; ;i--)
{
for(j=a[i];j > 0;j--)
{
printf("%d ",i-500000);
count++;
if(count==m)
{
flag=1;
break;
}
}
if(flag)
{
printf("\n");
break;
}
}
}
}
本地调试通过,但提交的时候显示runtime error,我实在找不出错误了,大家帮忙找下,谢了~!

搜索更多相关主题的帖子: ACM 
2007-08-06 15:35
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 
为什么没人帮我啊 ???  
2007-08-06 15:50
rocketabc
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-7-6
收藏
得分:0 
int a[]
整型太小了
a[num+500000] 这中数据放不了

兴趣和爱好是我追求的方向
2007-08-06 16:08
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
有没有中文

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-06 16:10
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

题目是英文的啊 !~
大致意思是输入两个数 m和n,然后再输入m个数,输出这m个数中的最大的n个数.

2007-08-06 17:07
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
大数组要定义为全局的.........

汗,都懒得写代码了.......... cheat了一个威望,哈.....
2007-08-06 19:04
rocketabc
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-7-6
收藏
得分:0 

你定义的是整型数组 ,但是里面存放的数据已经超出整型的范围啊


兴趣和爱好是我追求的方向
2007-08-06 20:08
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用liulanghan在2007-8-6 17:07:01的发言:

题目是英文的啊 !~
大致意思是输入两个数 m和n,然后再输入m个数,输出这m个数中的最大的n个数.

如果是这样只要先排序,然后输出排序后的前n的数就可以了


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-07 07:33
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

排序会超时的!~时间只有1000MS
为什么大数足要用全局变量啊 ??

2007-08-07 08:52
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 

刚才提交成功了,只要把数组改成全局的就可以了,可是大家能告诉我为什么大数组要用全局的吗???

2007-08-07 08:55
快速回复:请教大家一个ACM题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022171 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved