提交记录 32039


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_260814 wc2017b1. 【WC2017】挑战-任务1 Accepted 100 2.268 s 1562528 KB C++ 1.05 KB
提交时间 评测时间
2026-08-14 10:35:18 2026-08-14 10:35:24
#include <string.h>
typedef unsigned int u32;

static u32 b[200000000];
static u32 cnt[1024];

void sort(unsigned *a, int n) {
  u32 *c1 = cnt, *c2 = cnt + 256, *c3 = cnt + 512, *c4 = cnt + 768;
  u32 *t = b;
  memset(cnt, 0, 1024*4);
  int i = 0;
  for (; i + 4 <= n; i += 4) {
    u32 x0 = a[i], x1 = a[i+1], x2 = a[i+2], x3 = a[i+3];
    c1[x0&255]++; c2[(x0>>8)&255]++; c3[(x0>>16)&255]++; c4[x0>>24]++;
    c1[x1&255]++; c2[(x1>>8)&255]++; c3[(x1>>16)&255]++; c4[x1>>24]++;
    c1[x2&255]++; c2[(x2>>8)&255]++; c3[(x2>>16)&255]++; c4[x2>>24]++;
    c1[x3&255]++; c2[(x3>>8)&255]++; c3[(x3>>16)&255]++; c4[x3>>24]++;
  }
  for (; i < n; i++) { u32 x = a[i]; c1[x&255]++; c2[(x>>8)&255]++; c3[(x>>16)&255]++; c4[x>>24]++; }
  for (int j = 1; j < 256; j++) { c1[j]+=c1[j-1]; c2[j]+=c2[j-1]; c3[j]+=c3[j-1]; c4[j]+=c4[j-1]; }
  for (i = n - 1; i >= 0; i--) t[--c1[a[i] & 255]] = a[i];
  for (i = n - 1; i >= 0; i--) a[--c2[(t[i] >> 8) & 255]] = t[i];
  for (i = n - 1; i >= 0; i--) t[--c3[(a[i] >> 16) & 255]] = a[i];
  for (i = n - 1; i >= 0; i--) a[--c4[t[i] >> 24]] = t[i];
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.042 ms812 KBAcceptedScore: 34

Testcase #21.134 s762 MB + 992 KBAcceptedScore: 33

Testcase #32.268 s1525 MB + 928 KBAcceptedScore: 33


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