提交记录 20470


用户 题目 状态 得分 用时 内存 语言 代码长度
konjaklaf 1001. 测测你的排序 Accepted 100 2.448 s 781528 KB C++ 648 B
提交时间 评测时间
2023-10-29 20:20:41 2023-10-29 20:20:47
#include <algorithm>

const int ful = (1 << 16) - 1;
int tt[ful + 5];
void sort(unsigned *a, int n) {
    unsigned *tmp = new unsigned[n];
    for (register int i = 0; i < n; i++) ++tt[a[i] & ful];
    for (register int i = 1; i <= ful; i++) tt[i] += tt[i - 1];
    for (register int i = n - 1; ~i; i--) tmp[--tt[a[i] & ful]] = a[i];
    std::swap(a, tmp);

    for (register int i = 0; i <= ful; i++) tt[i] = 0;
    for (register int i = 0; i < n; i++) ++tt[(a[i] >> 16) & ful];
    for (register int i = 1; i <= ful; i++) tt[i] += tt[i - 1];
    for (register int i = n - 1; ~i; i--) tmp[--tt[(a[i] >> 16) & ful]] = a[i];
    std::swap(a, tmp);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #12.448 s763 MB + 216 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2025-09-13 13:34:29 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠