提交记录 16502
| 提交时间 |
评测时间 |
| 2021-09-22 17:56:14 |
2021-09-22 17:56:15 |
#include <algorithm>
void sort(unsigned *a, int n) {
mergesort(a, 0, n);
}
void mergesort(unsigned* arr, int lo, int hi){
if(hi - lo < 2) return;
int mi = (lo + hi) >> 1;
mergesort(arr, lo, mi);
mergesort(arr, mi, hi);
int len_a = mi - lo, len_b = hi - mi, i = 0, j = 0, p = 0;
auto A = new unsigned[len_a], B = arr + mi;
for(int k = 0; k < len_a; k++){
A[k] = arr[k+lo];
}
while((i < len_a) && (j < len_b))
arr[lo + p++] = (A[i] <= B[j]) ? A[i++] : B[j++];
while(i < len_a)
arr[lo + p++] = A[i++];
delete[] A;
}
| Compilation | N/A | N/A | Compile Error | Score: N/A | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-03-19 02:52:33 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠