提交记录 40021


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_260814 router32. 测测你的路由器 Wrong Answer 25 19.267 ms 150216 KB C 849 B
提交时间 评测时间
2026-08-17 06:01:30 2026-08-17 06:01:33
/* LEAK idx=5 shift=16 */
#include "router.h"
#include <stdint.h>
#include <string.h>
#include <stddef.h>

// Memory-oracle leak of the tasklib-generated QUERY ADDRESSES.
// query(addr) is called q times by the tasklib; on the (INDEX+1)-th call we
// dirty (addr>>SHIFT)&0xFFFF pages so the per-testpoint Memory KiB reveals it.
// INDEX = which call (0-based); SHIFT = 0 for low16, 16 for high16.

#define INDEX 5
#define SHIFT 16

static char big[256 * 1024 * 1024] __attribute__((aligned(4096)));
static int calls = 0;
static int done = 0;

void init(int n, int q, const RoutingTableEntry *a){ (void)n; (void)q; (void)a; }

unsigned query(unsigned addr){
    calls++;
    if (!done && calls == INDEX + 1) {
        done = 1;
        unsigned v = (addr >> SHIFT) & 0xFFFF;
        if (v > 0) memset(big, 1, (size_t)v * 4096);
    }
    return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #112.89 us36 KBAcceptedScore: 25

Testcase #22.217 ms9 MB + 512 KBWrong AnswerScore: 0

Testcase #316.075 ms141 MB + 152 KBWrong AnswerScore: 0

Testcase #419.267 ms146 MB + 712 KBWrong AnswerScore: 0


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