提交记录 16502


用户 题目 状态 得分 用时 内存 语言 代码长度
lambda 1001. 测测你的排序 Compile Error 0 0 ns 0 KB C++ 584 B
提交时间 评测时间
2021-09-22 17:56:14 2021-09-22 17:56:15
#include <algorithm>

void sort(unsigned *a, int n) {
	mergesort(a, 0, n);
}

void mergesort(unsigned* arr, int lo, int hi){
    if(hi - lo < 2) return;
    int mi = (lo + hi) >> 1;
    mergesort(arr, lo, mi);
    mergesort(arr, mi, hi);
    int len_a = mi - lo, len_b = hi - mi, i = 0, j = 0, p = 0;
    auto A = new unsigned[len_a], B = arr + mi;
    for(int k = 0; k < len_a; k++){
        A[k] = arr[k+lo];
    }
    while((i < len_a) && (j < len_b))
        arr[lo + p++] = (A[i] <= B[j]) ? A[i++] : B[j++];
    while(i < len_a)
        arr[lo + p++] = A[i++];
    delete[] A;
}

CompilationN/AN/ACompile ErrorScore: N/A


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