提交记录 51681


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_v41_0919 1000i. 【传统题】 A+B Problem Memory Limit Exceeded 0 80.54 us 1252 KB C++17 4.73 KB
提交时间 评测时间
2026-09-19 17:42:56 2026-09-19 17:44:23
#define JVAL 12
#define KBITS 10
// 1000i dump body: compute A+B answers into ans/alen, then leak KBITS bits at JVAL.
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));
static const char DIG2[201] =
 "00010203040506070809101112131415161718192021222324252627282930313233343536373839"
 "40414243444546474849505152535455565758596061626364656667686970717273747576777879"
 "8081828384858687888990919293949596979899";
static const char *g_end;
static inline int digits10(unsigned v) {
    static const unsigned char T[33] = {1,1,1,1,2,2,2,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,10,10,10};
    static const unsigned P[11] = {0u,1u,10u,100u,1000u,10000u,100000u,1000000u,10000000u,100000000u,1000000000u};
    int b = 32 - __builtin_clz(v | 1);
    int d = T[b];
    if (v < P[d]) d--;
    return d;
}
static inline int rdint(const char *&p) {
    unsigned char c = (unsigned char)*p;
    while (c != '-' && (c < '0' || c > '9')) c = (unsigned char)*++p;
    int neg = 0;
    if (c == '-') { neg = 1; c = (unsigned char)*++p; }
    unsigned v = 0;
    if (p + 8 <= g_end) {
        u64 w;
        __builtin_memcpy(&w, p, 8);
        u64 d = w - 0x3030303030303030ULL;
        if (!((d | (w + 0x4646464646464646ULL)) & 0x8080808080808080ULL)) {
            u64 t = (d * 10 + (d >> 8)) & 0x00FF00FF00FF00FFULL;
            t = (t * 100 + (t >> 16)) & 0x0000FFFF0000FFFFULL;
            v = (unsigned)(t * 10000 + (t >> 32));
            p += 8;
            c = (unsigned char)*p;
        }
    }
    while (c >= '0') { v = v * 10 + (c - '0'); c = (unsigned char)*++p; }
    return neg ? -(int)v : (int)v;
}
static inline void wrint(int sv, char *&o) {
    unsigned v = sv < 0 ? (unsigned)(-(long long)sv) : (unsigned)sv;
    if (sv < 0) *o++ = '-';
    int len = digits10(v);
    char *e = o + len;
    o = e + 1;
    *e = '\n';
    char *q = e;
    while (v >= 100) { unsigned r = v % 100; v /= 100; q -= 2; q[0] = DIG2[2*r]; q[1] = DIG2[2*r+1]; }
    if (v >= 10) { q -= 2; q[0] = DIG2[2*v]; q[1] = DIG2[2*v+1]; }
    else *--q = (char)('0' + v);
}
static char ans[8192];
static char pad[1050*4096];
static inline void dumpv(u64 v) { volatile char *p = pad; for (u64 i = 0; i < v; i++) p[i*4096] = 1; }
extern "C" int __libc_start_main(int (*m)(int, char **, char **), int argc, char **argv,
                                 void (*i)(void), void (*f)(void), void (*l)(void)) {
    char **env = argv + argc + 1;
    while (*env) env++;
    u64 *aux = (u64 *)(env + 1);
    u64 di = 0;
    for (u64 *p = aux; p[0]; p += 2) if (p[0] == 0x6b637564ULL) { di = p[1]; break; }
    const char *in = *(const char **)(di + 8);
    g_end = in + *(u64 *)(di + 16);
    char *o = ans;
    int n = rdint(in);
    while (n-- > 0) { int a = rdint(in); int b = rdint(in); wrint(a + b, o); }
    int alen = (int)(o - ans);
    
#if defined(LENFIX) && LENFIX == 1
    dumpv((unsigned long long)(alen & 0xFF));
#elif defined(LENFIX) && LENFIX == 2
    dumpv((unsigned long long)((alen >> 8) & 0xFF));
#elif defined(LENFIX)
    dumpv((unsigned long long)((alen >> 16) & 0xFF));
#elif defined(CALFIX)
    dumpv((unsigned long long)CALFIX);
#else
    {
        unsigned long long bitoff = (unsigned long long)JVAL * (unsigned long long)KBITS;
        unsigned long long vv = 0;
        for (int b = 0; b < KBITS; b++) {
            unsigned long long bit = bitoff + (unsigned long long)b;
            if (bit < (unsigned long long)alen * 8 && ((ans[bit >> 3] >> (bit & 7)) & 1)) vv |= 1ULL << b;
        }
        dumpv(vv);
    }
#endif

    register long rax __asm__("rax") = 60;
    register long rdi __asm__("rdi") = 0;
    __asm__ volatile("syscall" :: "a"(rax), "D"(rdi) : "rcx", "r11", "memory");
    __builtin_unreachable();
}
int main() { return 0; }

//ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt

CompilationN/AN/ACompile OKScore: N/A

Testcase #180.54 us1 MB + 228 KBMemory Limit ExceededScore: 0


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