【c语言】莫名超时(1050ms

#include<stdio.h>
const MAXN=1000+1;
//quicksort 降序
void qs(int c[MAXN],int l,int r)
{
int i,j,x;
if (l<r)
{
i=l;j=r;x=c[i];
while (i<j)
{
while((i<j)&&(c[j]<x)) j-=1;
if(i<j) {c[i]=c[j];i+=1;}
while((i<j)&&(x<c[i])) i+=1;
if(i<j) {c[j]=c[i];j-=1;}
}
c[i]=x;
qs(c,1,i-1);
qs(c,i+1,r);
}
}
//主处理
int main()
{
int a,b,c,n[MAXN],m[MAXN];
//n为苹果m为淘淘(编号0均为最大值)a第一层循环用c第二层循环b为未摘取个数
scanf("%d%d",&n[0],&m[0]);
for (a=1;a<=n[0];a++) scanf("%d",&n[a]);
for (a=1;a<=m[0];a++) scanf("%d",&m[a]);
qs(m,1,m[0]);
qs(n,1,n[0]);
for (a=1;a<=m[0];a++) printf("%d ",m[a]);

b=m[0];
for (a=1;a<=n[0];a++)
{
if(b==0) break;

for (c=1;c<=m[0];c++)
if((n[a]>m[c])&&(m[c]!=0))
{
b--;
m[c]=0;
break;
}
}
printf("%d",b);
return 0;
}

大神求救!每个点都是1050ms

2 条评论

  • @ 2014-06-26 00:11:56

    stdlib.h里面不是有qsort()函数吗?
    C++有sort(),更扛
    不用自己写排序,直接用就行了,自己写容易出问题

  • @ 2013-07-11 11:18:57

    已解决

    • @ 2013-10-20 23:24:53

      我也莫名超时。。。思路和你差不多。。。请问你怎么解决的?

    • @ 2013-12-19 17:46:25

      快排死循环了

  • 1

信息

ID
1291
难度
6
分类
贪心 点击显示
标签
(无)
递交数
9790
已通过
2345
通过率
24%
被复制
17
上传者