提交记录 125794


用户 题目 状态 得分 用时 内存 语言 代码长度
abc1763613206 1001. 测测你的排序 Time Limit Exceeded 0 5 s 355932 KB C++ 912 B
提交时间 评测时间
2026-10-10 17:56:01 2026-10-10 17:56:10
#include <algorithm>
void mergeSortHelper(unsigned *a, int left, int right, unsigned *temp) {
    if (left >= right) return;
    
    int mid = left + (right - left) / 2;

    mergeSortHelper(a, left, mid, temp);
    mergeSortHelper(a, mid + 1, right, temp);
    
    // 合并两个有序子数组
    int i = left;
    int j = mid + 1;
    int k = left;
    
    while (i <= mid && j <= right) {
        if (a[i] <= a[j]) {
            temp[k++] = a[i++];
        } else {
            temp[k++] = a[j++];
        }
    }
    
    // 处理剩余元素
    while (i <= mid) {
        temp[k++] = a[i++];
    }
    while (j <= right) {
        temp[k++] = a[j++];
    }
    
    // 将合并后的结果拷贝回原数组
    for (int p = left; p <= right; ++p) {
        a[p] = temp[p];
    }
}

void sort(unsigned *a, int n) {
    if (n <= 1) return;
    
    unsigned *temp = new unsigned[n];
    
    mergeSortHelper(a, 0, n - 1, temp);
    
    delete[] temp;
}


CompilationN/AN/ACompile OKScore: N/A

Testcase #15 s347 MB + 604 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-10-13 13:47:12 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠