正在加载
第一次写算法题?新手入门指南带你从输入输出写到第一个 Accepted
正在加载
以下内容与评测机的实际配置保持一致
评测在独立的沙箱机器上进行,每次提交都分配一个专属的隔离环境(isolate box), 判完即整体销毁 —— 不同提交之间不会相互影响,也读不到彼此的数据。
| 项目 | 说明 |
|---|---|
| 操作系统 | Debian 12 (x86_64) |
| 沙箱 | isolate(基于 cgroups 的资源隔离) |
| 默认时间限制 | 1000 ms(每题可单独设置) |
| 默认内存限制 | 256 MB(每题可单独设置) |
| 输出长度上限 | 64 MB |
| 编译时间上限 | 10 秒 |
| 编译内存上限 | 512 MB |
| 语言 | 编译 / 运行命令 | 时限倍率 |
|---|---|---|
| C++14 | g++ -O2 -std=c++14 -o main main.cpp -lm | ×1 |
| Python 3 | python3 main.py | ×3 |
Python 的时限倍率为 3 —— 解释型语言天然比编译型慢,同样的算法不该因为 语言选择而被判超时。
绝大多数题目使用标准输入/输出。题面顶部若显示「文件读写」,会明确给出两个文件名:程序从「文件名.in」读取,向「文件名.out」写出。出题人只配置文件名主干,扩展名由系统固定补全,因此不会出现名称含糊或多写扩展名的情况。
fork()、system()、
popen() 等调用会直接失败。这不是靠拦截具体的系统调用名实现的,
而是从根上不给程序创建进程的能力。评测按以下优先级顺序归约,先命中者为准:
顺序是有意为之:一个程序可能同时「超内存」又「非零退出」, 此时报 MLE 而不是 RE —— 因为内存耗尽才是根本原因。
比较时会做以下容忍:
以下情况不容忍,但会判为 PE 而非 WA(因为答案本身是对的):
如果连 token 序列都对不上(数字不同、个数不同),那就是实打实的 WA。
某个测试点未通过时,评测会立即停止,不再运行后续测试点。 所以你看到的「3/10 通过」意味着第 4 个点出了问题,而不是后面 6 个点都对。