提交记录 28070
提交时间 |
评测时间 |
2025-04-27 15:09:17 |
2025-04-27 15:09:24 |
#include <algorithm>
unsigned *b;
unsigned buc[3][2048];
void sort(unsigned *a, int n)
{
b = new unsigned[n];
for (int i = 0; i < n; ++i)
{
++buc[0][a[i] & 2047];
++buc[1][(a[i] >> 11) & 2047];
++buc[2][(a[i] >> 22) & 1024];
}
for (unsigned k = 0; k < 3; ++k)
{
unsigned offset = 0, lim = (k == 2) ? 1024 : 2048;
for (unsigned i = 0; i < lim; ++i)
std::swap(buc[k][i], offset), offset += buc[k][i];
}
for (unsigned i = 0; i < n; ++i) b[buc[0][a[i] & 2047]++] = a[i];
for (unsigned i = 0; i < n; ++i) a[buc[1][(b[i] >> 11) & 2047]++] = b[i];
for (unsigned i = 0; i < n; ++i) b[buc[2][(a[i] >> 22) & 1024]++] = a[i];
std::swap(a, b);
}
Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
Testcase #1 | 1.057 ms | 824 KB | Wrong Answer | Score: 0 | 显示更多 |
Testcase #2 | 1.293 s | 762 MB + 1008 KB | Wrong Answer | Score: 0 | 显示更多 |
Testcase #3 | 2.611 s | 1525 MB + 944 KB | Wrong Answer | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2025-06-01 14:39:02 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠