提交记录 61861


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_v41_0919 1001c. 测测你的排序4 Wrong Answer 0 513.198 ms 1468 KB C++17 1.57 KB
提交时间 评测时间
2026-09-19 23:21:34 2026-09-19 23:21:44

#include <sys/auxv.h>
typedef unsigned long long u64;
struct DI { u64 abi; const char*in; u64 insz; char*out; u64 outlim; u64 outsz; char*err;
            u64 errlim; u64 errsz; const char*IB; u64 IBlim; char*OB; u64 OBlim; u64 tscfreq; }
            __attribute__((packed));
unsigned long long GV[1024];
static char* g_pad;
__attribute__((destructor)) static void d(){
  DI* di=(DI*)getauxval(0x6b637564);
  u64 v = (300+(unsigned char)GV[6]);
  volatile char* p=g_pad; for(u64 i=0;i<v;i++) p[i*4096]=1;
}
void sort(unsigned *a, int n){
  static unsigned c16[65536];
  for(int i=0;i<65536;i++) c16[i]=0;
  unsigned long long desc=0, d2=0, d3=0, same=0;
  int lag2=1024, lag3=n/256;
  for(int i=0;i<n;i++){
    unsigned v=a[i];
    c16[v>>16]++;
    if(i){ if(a[i-1]>a[i]) desc++; if((a[i-1]>>16)==(v>>16)) same++; }
    if(i>=lag2 && a[i-lag2]>v) d2++;
    if(i>=lag3 && a[i-lag3]>v) d3++;
  }
  unsigned m16=0, m8=0;
  for(int i=0;i<65536;i++) if(c16[i]>m16) m16=c16[i];
  static unsigned c8[256]; for(int i=0;i<256;i++) c8[i]=0;
  for(int i=0;i<n;i++) c8[a[i]>>24]++;
  for(int i=0;i<256;i++) if(c8[i]>m8) m8=c8[i];
  GV[0]=(unsigned long long)m16*65536*8/n;
  GV[1]=(unsigned long long)m8*256*8/n;
  GV[2]=desc*255/n;
  GV[3]=d2*255/(n-lag2);
  GV[4]=d3*255/(n-lag3);
  GV[5]=(unsigned long long)(n-1-desc)*255/n;
  GV[6]=same*255/n;
  GV[7]=(unsigned long long)m16*1000/n;
}


static char padmem[78<<20];
__attribute__((constructor)) static void initpad(){ g_pad = padmem; }
//pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

CompilationN/AN/ACompile OKScore: N/A

Testcase #1513.198 ms1 MB + 444 KBWrong AnswerScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-11-06 15:05:30 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠