提交记录 5127


用户 题目 状态 得分 用时 内存 语言 代码长度
WAAutoMaton 1001. 测测你的排序 Wrong Answer 0 1.659 s 781268 KB C++11 889 B
提交时间 评测时间
2018-08-07 18:55:41 2020-08-01 00:11:31
// 这是 WC 2017 挑战 的 标程
void sort(unsigned *a, int n){
    constexpr int S = 11;
    unsigned _b[100000005], *b;
    unsigned cnt[1<<S];
    int i;
    b = _b;
    for (i = 0; i < 32; i += S) {
        for (int j = 0; j < 1<<S; j++) cnt[j] = 0;
        if (i + S >= 32) {
            for (int j = 0; j < n; j++) ++cnt[a[j] >> i];
            for (int j = 1; j < 1 << S; j++) cnt[j] += cnt[j - 1];
            for (int j = n - 1; j >= 0; j--) b[--cnt[a[j] >> i]] = a[j];
            unsigned *tmp = a;
            a = b, b = tmp;
            continue;
        }
        int t = (1 << S) - 1;
        for (int j = 0; j < n; j++) ++cnt[(a[j] >> i) & t];
        for (int j = 1; j < 1 << S; j++) cnt[j] += cnt[j - 1];
        for (int j = n - 1; j >= 0; j--) b[--cnt[(a[j] >> i) & t]] = a[j];
        unsigned *tmp = a;
        a = b, b = tmp;
    }
    unsigned *tmp = a;
    a = b, b = tmp;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.659 s762 MB + 980 KBWrong AnswerScore: 0


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