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,我实在找不出错误了,大家帮忙找下,谢了~!
----------------解决方案--------------------------------------------------------
为什么没人帮我啊 ???
----------------解决方案--------------------------------------------------------
int a[]
整型太小了
a[num+500000] 这中数据放不了
----------------解决方案--------------------------------------------------------
有没有中文
----------------解决方案--------------------------------------------------------
题目是英文的啊 !~
大致意思是输入两个数 m和n,然后再输入m个数,输出这m个数中的最大的n个数.
----------------解决方案--------------------------------------------------------
大数组要定义为全局的.........
----------------解决方案--------------------------------------------------------
你定义的是整型数组 ,但是里面存放的数据已经超出整型的范围啊
----------------解决方案--------------------------------------------------------
题目是英文的啊 !~
大致意思是输入两个数 m和n,然后再输入m个数,输出这m个数中的最大的n个数.
如果是这样只要先排序,然后输出排序后的前n的数就可以了
----------------解决方案--------------------------------------------------------
排序会超时的!~时间只有1000MS
为什么大数足要用全局变量啊 ??
----------------解决方案--------------------------------------------------------
刚才提交成功了,只要把数组改成全局的就可以了,可是大家能告诉我为什么大数组要用全局的吗???
----------------解决方案--------------------------------------------------------