提交记录 40156


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_260814 noi17a. 【NOI2017】整数 Wrong Answer 0 15.165 ms 792 KB C 2.22 KB
提交时间 评测时间
2026-08-17 21:06:52 2026-08-17 21:07:36
#include <stdint.h>
#include <sys/auxv.h>
#include <unistd.h>

struct DuckInfo {
  uint64_t abi_version;
  const char *stdin_ptr; uint64_t stdin_size;
  char *stdout_ptr; uint64_t stdout_limit; uint64_t stdout_size;
  char *stderr_ptr; uint64_t stderr_limit; uint64_t stderr_size;
  const char *IB_ptr; uint64_t IB_limit;
  char *OB_ptr; uint64_t OB_limit;
  uint64_t tsc_frequency;
} __attribute__((packed));

static const char *P;
static uint64_t O;

__attribute__((noreturn)) static void done(uint64_t olen, struct DuckInfo *di, char *out, int use_di){
    if (use_di) di->stdout_size = olen;
    else (void)!write(1, out, olen);
    asm volatile("mov $60, %%eax; xor %%edi, %%edi; syscall" ::: "rax","rdi","memory");
    __builtin_unreachable();
}

int main(){
    struct DuckInfo *di = (struct DuckInfo*)getauxval(0x6b637564);
    static char lbuf[1<<24];
    static char obuf[1<<22];
    char *out;
    int use_di = 0;
    if (di && di->abi_version >= 1 && di->stdin_ptr && di->stdout_ptr){
        P = di->stdin_ptr; out = di->stdout_ptr; use_di = 1;
    } else {
        long n2 = 0, t;
        while (n2 < (long)sizeof(lbuf) && (t = read(0, lbuf + n2, sizeof(lbuf) - n2)) > 0) n2 += t;
        lbuf[n2] = 0; P = lbuf; out = obuf;
    }

    // parse header (n t1 t2 t3)
    int n = 0;
    while (*P > ' ') n = n*10 + (*P - '0'), P++;
    while (*P <= ' ') P++;
    while (*P > ' ') P++;  // t1
    while (*P <= ' ') P++;
    while (*P > ' ') P++;  // t2
    while (*P <= ' ') P++;
    while (*P > ' ') P++;  // t3
    while (*P <= ' ') P++;

    long acc = 0;
    for (int i = 0; i < n; i++){
        int op = *P++ - '0';
        P++;  /* skip separator */
        if (op == 1){
            int neg = 0;
            if (*P == '-'){ neg = 1; P++; }
            long a = 0;
            while (*P > ' '){ a = a*10 + (*P - '0'); P++; }
            P++;
            long b = 0;
            while (*P > ' '){ b = b*10 + (*P - '0'); P++; }
            P++;
            if (neg) acc -= a + b; else acc += a + b;
        } else {
            long k = 0;
            while (*P > ' '){ k = k*10 + (*P - '0'); P++; }
            P++;
            acc += k;
            out[O++] = (char)('0' + (acc & 1));
            out[O++] = '\n';
        }
    }
    done(O, di, out, use_di);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #15.69 us12 KBWrong AnswerScore: 0

Testcase #26.28 us12 KBWrong AnswerScore: 0

Testcase #328.82 us12 KBWrong AnswerScore: 0

Testcase #441.87 us12 KBWrong AnswerScore: 0

Testcase #568.38 us12 KBWrong AnswerScore: 0

Testcase #675.85 us16 KBWrong AnswerScore: 0

Testcase #7132.53 us16 KBWrong AnswerScore: 0

Testcase #8128.74 us16 KBWrong AnswerScore: 0

Testcase #9416.55 us28 KBWrong AnswerScore: 0

Testcase #10633.83 us36 KBWrong AnswerScore: 0

Testcase #11786.22 us48 KBWrong AnswerScore: 0

Testcase #12739.57 us48 KBWrong AnswerScore: 0

Testcase #131.047 ms52 KBWrong AnswerScore: 0

Testcase #142.858 ms128 KBWrong AnswerScore: 0

Testcase #153.143 ms188 KBWrong AnswerScore: 0

Testcase #165.932 ms248 KBWrong AnswerScore: 0

Testcase #176.755 ms308 KBWrong AnswerScore: 0

Testcase #189.367 ms368 KBWrong AnswerScore: 0

Testcase #1910.904 ms428 KBWrong AnswerScore: 0

Testcase #2010.517 ms792 KBWrong AnswerScore: 0

Testcase #2110.332 ms548 KBWrong AnswerScore: 0

Testcase #2212.668 ms564 KBWrong AnswerScore: 0

Testcase #2312.674 ms480 KBWrong AnswerScore: 0

Testcase #2413.445 ms600 KBWrong AnswerScore: 0

Testcase #2515.165 ms604 KBWrong AnswerScore: 0


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