#2071: Qsort吃到TLE???


xatier (一串電研的阿飄先生)

學校 : 國立臺中第一高級中學
編號 : 4282
來源 : [140.113.17.175]
最後登入時間 :
2014-12-09 21:57:44
c010. 10107 - What is the Median? -- UVa10107 | From: [210.60.107.233] | 發表日期 : 2009-06-10 13:06

我的CODE

 理論上

 

Qsort的時間複雜度是nlog2(n)不是嗎

 

那位什麼我知道TEL

 

#include<stdio.h>
#include<stdlib.h>
int cmp(const void* a,const void* b){
    return *(int*)a-*(int*)b;    //small to big
}
int main(){
    int num[10001];
    int i,now,len;
    i=0;
    len=0;
    double mid;
    while(scanf("%d",&now)!=EOF){
        num[i]=now;
        len++;
        i++;
        qsort(num,len,sizeof(int),cmp);
        if(len%2==0){
            mid=(num[len/2-1]+num[len/2])/2;
        }
        else {
            mid=num[len/2];
        }
        printf("%.0lf\n",mid);
    }    
    return 0;    
}

 
#2072: Re:Qsort吃到TLE???

Unknown User

c010. 10107 - What is the Median? -- UVa10107 | From: [60.244.132.53] | 發表日期 : 2009-06-10 13:39

我的CODE

 理論上

 

Qsort的時間複雜度是nlog2(n)不是嗎

 

那位什麼我知道TEL

 

#include
#include
int cmp(const void* a,const void* b){
    return *(int*)a-*(int*)b;    //small to big
}
int main(){
    int num[10001];
    int i,now,len;
    i=0;
    len=0;
    double mid;
    while(scanf("%d",&now)!=EOF){
        num[i]=now;
        len++;
        i++;
        qsort(num,len,sizeof(int),cmp);
        if(len%2==0){
            mid=(num[len/2-1]+num[len/2])/2;
        }
        else {
            mid=num[len/2];
        }
        printf("%.0lf\n",mid);
    }    
    return 0;    
}


因為你的code是O(n^2*logN) 
ZeroJudge Forum