提交记录 966


用户 题目 状态 得分 用时 内存 语言 代码长度
AwD 1001. 测测你的排序 Accepted 100 1.653 s 781284 KB C 783 B
提交时间 评测时间
2018-06-20 18:00:13 2020-07-31 20:45:00
int c0[2050], c1[2050], c2[2050];
unsigned bi[100000005];

void sort(unsigned *a, int n)
{
    unsigned *ai = a;
    for (register int i = 0; i < n; ++ i)
    {
        c0[ai[i] & ((1 << 11) - 1)] ++;
        c1[(ai[i] >> 11) & ((1 << 11) - 1)] ++;
        c2[ai[i] >> 22] ++;
    }
    for (int i = 1; i < (1 << 11); ++ i) c0[i] += c0[i - 1];
    for (int i = 1; i < (1 << 11); ++ i) c1[i] += c1[i - 1];
    for (int i = 1; i < (1 << 11); ++ i) c2[i] += c2[i - 1];

    for (register int i = n - 1; ~i; -- i) bi[-- c0[ai[i] & ((1 << 11) - 1)]] = ai[i];
    for (register int i = n - 1; ~i; -- i) ai[-- c1[(bi[i] >> 11) & ((1 << 11) - 1)]] = bi[i];
    for (register int i = n - 1; ~i; -- i) bi[-- c2[ai[i] >> 22]] = ai[i];

    for (register int i = 0; i < n; ++ i) ai[i] = bi[i];
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.653 s762 MB + 996 KBAcceptedScore: 100


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